NYOJ 62 笨小熊
2014-02-11 16:43
246 查看
原题链接
考察对字符串的操作。
将各个字符出现的次数保存到数组中,重复出现的赋值为 ‘.’, 再将数组降序排序,后面就简单了。
附ac代码:
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int cmp(const void *a, const void *b){
return *(int *)b - *(int *)a;
}
int f(int n){ //判断素数
if(n < 2) return 0;
for(int i = 2; i <= sqrt(n); ++i)
if(n % i == 0) return 0;
return 1;
}
int main(){
int t, ok, a[101];
char s[101];
scanf("%d", &t);
while(t-- && scanf("%s", s)){
memset(a, 0, sizeof(a));
for(int i = 0; i != strlen(s); ++i){
if(s[i] == '.') continue;
++a[i];
for(int j = i + 1; j != strlen(s); ++j)
if(s[j] == s[i]){
++a[i];
s[j] = '.';
}
}
//排序,降序
qsort(a, 101, sizeof(int), cmp);
int i = 0;
while(i++ != 101)
if(!a[i]) break;
--i;
int x = a[0] - a[i];
if(f(x)) printf("Lucky Word\n%d\n", x);
else printf("No Answer\n0\n");
}
return 0;
}
考察对字符串的操作。
将各个字符出现的次数保存到数组中,重复出现的赋值为 ‘.’, 再将数组降序排序,后面就简单了。
附ac代码:
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int cmp(const void *a, const void *b){
return *(int *)b - *(int *)a;
}
int f(int n){ //判断素数
if(n < 2) return 0;
for(int i = 2; i <= sqrt(n); ++i)
if(n % i == 0) return 0;
return 1;
}
int main(){
int t, ok, a[101];
char s[101];
scanf("%d", &t);
while(t-- && scanf("%s", s)){
memset(a, 0, sizeof(a));
for(int i = 0; i != strlen(s); ++i){
if(s[i] == '.') continue;
++a[i];
for(int j = i + 1; j != strlen(s); ++j)
if(s[j] == s[i]){
++a[i];
s[j] = '.';
}
}
//排序,降序
qsort(a, 101, sizeof(int), cmp);
int i = 0;
while(i++ != 101)
if(!a[i]) break;
--i;
int x = a[0] - a[i];
if(f(x)) printf("Lucky Word\n%d\n", x);
else printf("No Answer\n0\n");
}
return 0;
}
相关文章推荐
- nyoj 62 笨小熊
- NYOJ-62 笨小熊
- NYOJ 62笨小熊问题
- NYOJ 62 笨小熊
- NYOJ--62-题目--------------------------------------笨小熊
- NYOJ 62 笨小熊(水题,找字母个数)
- NYOJ-62 笨小熊
- NYOJ-62-笨小熊-2013年09月11日08:44:21
- NYOJ 62 笨小熊
- NYOJ 62 笨小熊
- NYOJ62【笨小熊】
- 【NYOJ】[62]笨小熊
- nyoj 62 笨小熊
- NYOJ_62 笨小熊
- nyoj 笨小熊 62
- nyoj-62-笨小熊
- nyoj62 笨小熊
- NYOJ---题目62笨小熊
- NYOJ-62 :笨小熊