题目链接:CF-844A
水题做多了真的是有快感的。
给一个字符串s和一个整数k,可以改变字符串s中的任意一个字母,问最少改变几次可以使得s中有k个不同字母。
无脑记录原来s中不同的字母,也可以用set做。
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <string>
#include <string.h>
using namespace std;
int main() {
bool vis[26];
memset(vis, false, sizeof(vis));
string s;
int k;
cin >> s >> k;
int len = s.length();
if (k > len)
cout << "impossible" << endl;
else
{
int cnt = 0;
for (int i = 0;i < len;++i)
{
if (vis[s[i] - 'a'] == false)
{
vis[s[i] - 'a'] = true;
cnt++;
}
}
if (cnt >= k)
cout << 0 << endl;
else
cout << k - cnt << endl;
}
return 0;
}