var
str:string;
an:array[1..200] of string;
sn,xy,jn:integer;
tt,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z:char;
tn:array[1..27] of integer;
ff:boolean;
begin
readln(str);
for xy:=1 to 27 do tn[xy]:=0;
repeat
ff:=true;
for xy:=1 to length(str)-1 do
if str[xy]>str[xy+1] then
tt:=str[xy];
str[xy]:=str[xy+1];
str[xy+1]:=tt;
ff:=false;
until ff;
for xy:=1 to length(str) do
for jn:=1 to 27 do
case str[xy] of
a,d,g,j,m,p,t,w,’ ’: tn[jn]:=1;
b,e,h,k,n,q,u,x : tn[jn]:=2;
c,f,i,l,o,v,y : tn[jn]:=3;
z : tn[jn]:=4;
end;
for xy:=1 to 27 do
sn:=sn+tn[xy];
write(sn);
readln;
readln;
end.
直接搜就过了!
例如:
if a[i]=’d’ then ans:=ans+1;
if a[i]=’e’ then ans:=ans+2;
const
a:array['a'..'z']of 1..4=(1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,1,2,3,4);
var
ch:char;
s:integer;
begin
while not eof do
begin
read(ch);
if ch<>' ' then s:=s+a[ch]
else inc(s);
end;
readln;
writeln(s);
end.