简单的字符串处理。
奇怪的是我如果用puts()就会WA :(
SUBMIT:http://www.rqnoj.cn/Problem_399.html
/*
* NOIP-2009 笨小猴
* mike-w
* 2011-8-27
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXLEN 111
int max,min;
char word[MAXLEN];
int cnt[26];
int prm[MAXLEN];
int mkprm(void)
{
int p,t,i;
prm[0]=prm[1]=1;
for(p=1;p<MAXLEN;p++)
if(!prm[p])
for(t=p*2;t<MAXLEN;t*=p)
prm[t]=1;
for(i=0;i<MAXLEN;i++)
prm[i]=(prm[i]?0:1);
return 0;
}
int main(void)
{
char* p;
int i;
scanf("%s",word);
for(p=word;*p;p++)
cnt[*p-'a']++;
for(i=0;i<26;i++)
if(cnt[max]<cnt[i])
max=i;
for(i=0;i<26;i++)
if(cnt[i])
break;
if(i>=26)
min=max;
else
for(min=i;i<26;i++)
if(cnt[i]&&cnt[i]<cnt[min])
min=i;
mkprm();
if(prm[cnt[max]-cnt[min]])
printf("%s\n%d\n","Lucky Word",cnt[max]-cnt[min]);
else
printf("%s\n%d\n","No Answer",0);
return 0;
}
3189



被折叠的 条评论
为什么被折叠?



