ACM 之 B - 酷酷的单词

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

理解:

思维转化,把字母转化成数字信息就好处理的多了,可以理解成ASCII码。

代码部分

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int n,a[27],con=1,x;
char b[100000];
int main(){
    while(cin>>n){
        x=0;
        for(int i=0;i<n;i++){
            int l,ll=0;
            memset(a,0,sizeof(a));
            cin>>b;
            l=strlen(b);
            if(l==1)
                continue;
            for(int j=0;j<l;j++)
                a[b[j]-'a']++;
            sort(a,a+26);
            for(ll=1;ll<26;ll++)
                if(a[ll]==a[ll-1]&&a[ll]!=0)
                    break;
            if(ll==26)
                x++;
        }
        cout<<"Case "<<con<<": "<<x<<endl;
        con++;
    }
    return 0;
}

意见反馈 || 任何建议

联系我(新浪)
邮箱:qianlizhihao@gmail.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 每天睡七个半小时,形成习惯 早上4点半起床,晚上9点半睡觉,中午必须午休半小时。
    皋辜格琢阅读 3,034评论 0 0
  • 小时候 有两个月亮 一个挂柳梢 一个藏井底 见你时 有两个月亮 一个在头顶 一个悬故乡 现在 也有两个月亮 一个在...
    一木与你看世界阅读 3,853评论 2 3