题目大意:
Kefa有一些气球,要发放给一些朋友,如果一个人拿到相同颜色的气球就会很伤心,如果拿不到气球也不伤心,每一个字符代表一种颜色,现在给你朋友的数量,和气球的颜色,问你能不能使所有的朋友都不伤心,如果所有的朋友都不伤心,输出“yes“,如果有朋友伤心则输出”NO“;注意所有的气球都要给发放出去。
思路:问题就可以简化为比较数量大小,如果一个颜色的气球的数量大于所有朋友的数量,那么肯定会有一个朋友拿到相同颜色的气球。
这个题的思路还是挺简单的。
代码如下:
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int a[30];
int main()
{
int n,k;
cin>>n>>k;
string s;
cin>>s;
int flag=0;
for(int i=0; i<s.size(); i++)
{
a[s[i]-'a']++;
}
for(int i=0; i<26; i++)
{
if(a[i]>k)
{
flag=1;
break;
}
}
if(flag) cout<<"No"<<endl;
else cout<<"Yes"<<endl;
return 0;
}