| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
why wrong??用了最原始的方法了program fafd;
var
s,s1:string;
c:array [1..1000] of char;
i,j,k:longint;
d:array [1..5] of integer;
ch:char;
begin
while not eof do
begin
readln(s);
for i:=1 to length(s) do
begin
c[i]:=s[i];
end;
ch:=' ';
for i:=1 to length(s)-1 do
for j:=i+1 to length(s) do
if (c[i]>=c[j]) then begin
ch:=c[i];
end;
if ch<>' ' then writeln(0)
else begin
fillchar(d,sizeof(d),0);
for i:=1 to length(s) do d[i]:=ord(c[i])-96;
case length(s) of
1:writeln(d[i]);
2:begin
k:=26;
for i:=1 to d[1]-1 do
k:=k+(26-i);
k:=k+d[2]-d[1];
writeln(k);
end;
3:begin
k:=13*27;
for i:=1 to d[1]-1 do
k:=k+trunc((26-i)*(25-i)/2);
for i:=d[1]+1 to d[2]-1 do
k:=k+(26-i);
k:=k+d[3]-d[2];
writeln(k);
end;
4:begin
k:=13*27+(26*25*4);
for i:=1 to d[1]-1 do
k:=k+trunc((26-i)*(25-i)*(24-i)/6);
for i:=d[1]+1 to d[2]-1 do
k:=k+trunc((26-i)*(25-i)/2);
for i:=d[2]+1 to d[3]-1 do
k:=k+26-i;
k:=k+d[4]-d[3];
writeln(k);
end;
5:begin
k:=13*27+(26*25*4)+(26*25*23);
for i:=1 to d[1]-1 do
k:=k+trunc((26-i)*(25-i)*(24-i)*(23-i)/24);
for i:=d[1]+1 to d[2]-1 do
k:=k+trunc((26-i)*(25-i)*(24-i)/6);
for i:=d[2]+1 to d[3]-1 do
k:=k+trunc((26-i)*(25-i)/2);
for i:=d[3]+1 to d[4]-1 do
k:=k+26-i;
k:=k+d[5]-d[4];
writeln(k);
end;
end;
end;
end;
end.
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator