[我不喜欢猴子]笨小猴
【题目描述】
笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!
这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。
【输入格式】
输入文件只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。
【输出格式】
输出文件共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;
第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。
【输入样例】
输入样例1 | 输入样例2 |
error | olympic |
【输出样例】
输出样例1 | 输出样例2 |
Lucky Word | No Answer |
【分析】
傻模拟。
1: #include <stdio.h>2: #include <string.h>
3: #include <math.h>4: int max,min,len;
5: bool have[30];
6: int time[30];
7: char s[200];
8: bool check(int x) {9: if (x < 2)
10: return 0;
11: for (int i = 2;i <= sqrt(x);++i)12: if (i % x == 0)
13: return 0;
14: return 1;
15: }16: int main() {
17: scanf("%s",s);
18: len = strlen(s);19: for (int i = 0;i < len;++i) {20: int t = s[i] - 'a';
21: have[t] = 1;22: ++time[t];23: }24: min = 10000000;25: for (int i = 'a';i <= 'z';++i) {26: int t = i - 'a';
27: if (have[t]) {
28: if (time[t] > max)
29: max = time[t];30: if (time[t] < min)
31: min = time[t];32: }33: }34: if (check(max - min)) {
35: printf("Lucky Word\n%d\n",max - min);
36: } else {
37: printf("No Answer\n0\n");
38: }39: return 0;
40: }