湖南省第十届大学生计算机程序设计竞赛:酷酷的单词

来源:互联网 发布:c语言控制台界面 编辑:程序博客网 时间:2024/05/22 13:42

1505: 酷酷的单词
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 237 Solved: 88
[Submit][Status][Web Board]
Description

输入一些仅由小写字母组成的单词。你的任务是统计有多少个单词是“酷”的,即每种字母出现的次数都不同。
比如ada是酷的,因为a出现2次,d出现1次,而1和2不同。再比如,banana也是酷的,因为a出现3次,n出现2次,b出现1次。但是,bbacccd不是酷的,因为a和d出现的次数相同(均为1次)。

Input

输入包含不超过30组数据。每组数据第一行为单词个数n (1<=n<=10000)。以下n行各包含一个单词,字母个数为1~30。

Output

对于每组数据,输出测试点编号和酷单词的个数。

Sample Input
2
ada
bbacccd
2
illness
a

Sample Output
Case 1: 1
Case 2: 0

HINT

Source

湖南省第十届大学生计算机程序设计竞赛

省赛的签到题,主要是字符串的一些操作,基本没涉及什么算法,读懂题意就可以做啦,题目的意思就是统计给出的单词中出现字母的次数都不同的单词的个数,如果单词只有一个字母,就认为是相同的。

#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){    int n,len,count,flag,k=1;    char s[32];    int a[26];    while(scanf("%d",&n)!=EOF)    {       count=0;       while(n--)        {            flag=1;            memset(a,0,sizeof(a));            scanf("%s",s);            len=strlen(s);            for(int i=0; i<len; i++)            {                a[s[i]-'a']++;//统计单词字母出现的次数            }            for(int i=0; i<26; i++)            {                for(int j=i+1; j<26; j++)                {                    if(a[i]==a[j]&&a[i]!=0)                    {                        flag=0;                        break;                    }                }            }            if(flag==1&&len!=1)            {                count++;            }        }        printf("Case %d: %d\n",k++,count);    }    return 0;}
0 0
原创粉丝点击