记录编号 |
92296 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2008]笨小猴 |
最终得分 |
100 |
用户昵称 |
TanAp0k |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2014-03-19 20:10:46 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include <fstream>
#include <cmath>
using namespace std;
int is_Prime(int x);
int fcti(char x);
char fitc(int x);
int main()
{
ifstream fin("word.in");
ofstream fout("word.out");
char result[100];
int num[26] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
int i, j, maxn, minn;
fin >> result;
for(i = 0; result[i] != '\0'; i++)
{
if(num[fcti(result[i])] != -1)
{
num[fcti(result[i])]++;
}
else
{
num[fcti(result[i])] = 1;
}
}
i--;
maxn = minn = num[0];
for(j = 0; j < 26; j++)
{
if(num[j] != -1)
{
maxn = num[j];
minn = num[j];
j = 26;
}
}
j = 0;
for(; j < 26; j++)
{
if(num[j] != -1)
{
if(num[j] > maxn)
{
maxn = num[j];
}
if(num[j] < minn)
{
minn = num[j];
}
}
}
if(is_Prime(maxn-minn) == 1)
{
fout << "Lucky Word\n" << (maxn-minn) << endl;
}
else
{
fout << "No Answer\n" << 0 << endl;
}
fin.close();
fout.close();
return 0;
}
int is_Prime(int x)
{
int k = int(sqrt(x));
if(x == 1)
{
return 0;
}
if(x == 0)
{
return 0;
}
for(int p = 2; p <= k; p++)
{
if(x%p == 0)
{
return 0;
}
}
return 1;
}
int fcti(char x)
{
return (int(x)-int('a'));
}