http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11572&courseid=0
题目 C. 酷酷的单词
输入一些仅由小写字母组成的单词。你的任务是统计有多少个单词是“酷”的,即每种字母出
现的次数都不同。
比如 ada 是酷的,因为 a 出现 2 次,d 出现 1 次,而 1 和 2 不同。再比如,banana 也是酷的,
因为 a 出现 3 次,n 出现 2 次,b 出现 1 次。但是,bbacccd 不是酷的,因为 a 和 d 出现的次数
相同(均为 1 次)。
输入格式
输入包含不超过 30 组数据。每组数据第一行为单词个数 n (1<=n<=10000)。以下 n 行各包含一
个单词,字母个数为 1~30。
输出格式
对于每组数据,输出测试点编号和酷单词的个数。
样例输入 样例输出
2
ada
bbacccd
2
illness
a
Case 1: 1
Case 2: 0
#include<iostream> #include<cstdio> #include<cstring> char s[10005][10005]; using namespace std; int main() { int t=1,n; while(~scanf("%d",&n)) { int a[30],y=0,i,j,k; for(i=1;i<=n;i++) { scanf("%s",s[i]); int l=strlen(s[i]); memset(a,0,sizeof(a)); for(j=0;j<l;j++) { a[s[i][j]-‘a‘]++; } int flag=0; //for(j=0;j<30;j++) // printf("%d ",a[j]); //printf("\n"); for(j=0;j<30;j++) { for(k=0;k<30;k++) { if(j!=k&&a[j]==a[k]&&a[j]>0) {//printf("LL\n"); flag=1; break; } } if(flag==1) break; } if(flag==0&&l>1) y++; } printf("Case %d: %d\n",t++,y); } return 0; }
时间: 2024-11-10 13:22:26