首页 > 代码库 > 1.9.6
1.9.6
06:笨小猴
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!
这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。
- 输入
- 只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。
- 输出
- 共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;
第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。 - 样例输入
-
样例 #1: error 样例 #2: olympic
- 样例输出
-
样例 #1: Lucky Word 2 样例 #2: No Answer 0
- 提示
- 单词error中出现最多的字母r出现了3次,出现次数最少的字母出现了1次,3-1=2,2是质数。
单词olympic中出现最多的字母i出现了2次,出现次数最少的字母出现了1次,2-1=1,1不是质数。 - 来源
- NOIP2008复赛 提高组 第一题
-
1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 using namespace std; 5 int z(int ,int ); 6 char a[105],a1,a2; 7 int main() 8 { 9 scanf("%s",a); 10 int x=strlen(a),mi,ma,len=0,mi1=0,ma1=0; 11 for(int i=0;i<x;i++) 12 { 13 if(a[i]>=‘a‘&&a[i]<=‘z‘) 14 a[i]-=32; 15 } 16 mi=x; 17 ma=0; 18 for(int i=0;i<x;i++) 19 { 20 ma1=0; 21 mi1=0; 22 for(int j=0;j<x;j++) 23 { 24 if(a[i]==a[j])ma1++; 25 if(a[i]==a[j])mi1++; 26 27 } 28 if(mi1<mi)mi=mi1; 29 if(ma1>ma)ma=ma1; 30 } 31 int s=z(ma,mi); 32 if(s==2) 33 printf("Lucky Word\n%d",ma-mi); 34 else 35 printf("No Answer\n0"); 36 return 0; 37 } 38 int z(int x,int y) 39 { 40 int ans=x-y; 41 if(ans==1||ans==0) 42 return 3; 43 if(ans==2) 44 return 2; 45 for(int i=2;i<=sqrt(ans);i++) 46 { 47 if(ans%i==0) 48 return 3; 49 } 50 return 2; 51 }
1.9.6
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。