csuoj 1505: 酷酷的单词
2015-04-30 21:49
148 查看
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1505
分析:
只要记录每个单词出现的次数即可,需要注意的是:当出现“aaa” ,,,的时候,结果是0 。
官方标程:
View Code
1505: 酷酷的单词
时间限制: 1 Sec 内存限制: 128 MB 提交: 340 解决: 135 [提交][状态][讨论版]题目描述
输入一些仅由小写字母组成的单词。你的任务是统计有多少个单词是“酷”的,即每种字母出现的次数都不同。 比如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
提示
来源
湖南省第十届大学生计算机程序设计竞赛分析:
只要记录每个单词出现的次数即可,需要注意的是:当出现“aaa” ,,,的时候,结果是0 。
官方标程:
// Rujia Liu #include<cstdio> #include<string> #include<algorithm> #include<cassert> using namespace std; bool cool(string w) { int cnt[26] = {0}; if(w.length() < 2) return false; for(int i = 0; i < w.length(); i++) cnt[w[i]-'a']++; sort(cnt, cnt+26); for(int i = 1; i < 26; i++) if(cnt[i] != 0 && cnt[i] == cnt[i-1]) return false; return true; } int main() { int n, kase = 0; while(scanf("%d", &n) == 1) { assert(n<=10000); int cnt = 0; for(int i = 0; i < n; i++) { char w[100]; scanf("%s", w); assert(strlen(w) <= 30); if(cool(w)) cnt++; // if(cool(w)) printf("%s\n", w); } printf("Case %d: %d\n", ++kase, cnt); } return 0; }
View Code
相关文章推荐
- CSU 1505 酷酷的单词 (简单题)
- CSU 1505 酷酷的单词 【水题】
- CSU 1505: 酷酷的单词(数学啊)
- CSU OJ 1505: 酷酷的单词
- 1505: 酷酷的单词
- CSU 1505 酷酷的单词
- CSU 1505 酷酷的单词 湖南省赛第十届题目
- CSU 1505 酷酷的单词
- ACM--酷酷的单词--CSU 1505--湖南第十届省赛
- 1505: 酷酷的单词
- 1505: 酷酷的单词
- CSU_1505_酷酷的单词
- CSU 1505——酷酷的单词
- 酷酷的单词
- 蓝桥杯-问题 1505:单词个数统计(c++ string,vector解决)
- CSU 1506 酷酷的单词
- 酷酷的单词
- 酷酷的单词
- 湖南省第十届大学生计算机程序设计竞赛:酷酷的单词
- 酷酷的单词