题目大意:
maxn是单词中出现次数最多的字母的出现次数,
minn是单词中出现次数最少的字母的出现次数,
maxn-minn是质数,输出Lucky Word以及这个质数
否则输出No Answer 以及 0
只可能出现小写字母,并且长度小于100
题解:
字母只有26种可能,暴力的枚举找出maxn,minn然后判断是否为素数即可。
代码:
var
a:array [1..26] of longint;
i,j,t,k:longint;
n:string;
begin
assign(input,'word.in'); reset(input);
assign(output,'word.out'); rewrite(output);
readln(n);
for k:=1 to length(n) do inc(a[ord(n[k])-96]);
for i:=1 to 25 do
for j:=i+1 to 26 do
if a[i]>a[j] then
begin
t:=a[i];a[i]:=a[j];a[j]:=t;
end;
t:=1;
while a[t]=0 do inc(t);
k:=a[26]-a[t];
for i:=2 to k-1 do
if k mod i=0 then
begin
writeln('No Answer');
writeln('0');
halt;
end;
if (k=1) or (k=0) then
begin
writeln('No Answer');
writeln('0');
close(input); close(output);
halt;
end;
writeln('Lucky Word');
writeln(k);
close(input); close(output);
end.