记录编号 92296 评测结果 AAAAAAAAAA
题目名称 [NOIP 2008]笨小猴 最终得分 100
用户昵称 GravatarTanAp0k 是否通过 通过
代码语言 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'));
}