codeforce diversity

2017-08-25 14:59:34

writer:pprp

题意如下:给你一个串字符,再给你一个数字,表示在字符串中的各不相同的字符个数,

问你最少需要改变几个字符达到要求,不能达到要求就输出impossible

div2 A  签到题

代码如下:

/*
theme:diversity
writer:pprp
declare:right
date:2017/8/25
*/

#include<bits/stdc++.h>

using namespace std;
int n;
int a[27];

int main()
{
      string str;
      int cnt = 0;
      
      memset(a,0,sizeof(a));
      
      cin >> str;
      cin >> n;
      
      if(n > str.length())
      {
            cout << "impossible" << endl;
            return 0;
      }
      
      for(int i = 0 ; i < str.length() ; i++)
      {
           a[str[i] - 'a']++; 
      }
      
      for(int i = 0 ; i < 27 ; i++)
      {
            if(a[i] > 0)
            {
                  cnt++;
            }
      }
      
      if(cnt < n)
      {
            cout << n - cnt << endl;
      }
      else
      {
            cout << 0 << endl;
      }
      
      return 0;
}
原文地址:https://www.cnblogs.com/pprp/p/7428113.html