大家好,我是顺亿。今天我们来聊聊Codeforces 844A问题,这是一个关于字符串处理的经典题目。如果你在编程学习中遇到了类似的问题,这篇文章可能会帮到你。
问题分析
这个问题要求我们统计一个字符串中重复字符的数量,并根据给定的数字k,输出一个结果。如果字符串长度小于k,输出“impossible”。如果字符串中不重复的字符数量大于k,输出0。否则,输出k与字符串长度之差加上重复字符的数量。
核心代码解析
#include
#include
bool cnt[30];
int main()
{
char t;
int ans=0; //重复字符数
int num=0; //字符长度
memset(cnt,false,sizeof(cnt));
while(1)
{
t=getchar();
if(t=='
')
break;
else if(cnt[(int)(t-'a')])
ans++;
else
cnt[(int)(t-'a')]=true;
num++;
}
int k;
scanf(
