tzh 2010-08-25 07:18:00
点我顶贴
收藏
删除
本来是超时一个点,错一个点的,结果将一些integer 改成byte就都过了。。。。。
有同错的来看看;;
改好的AC程序:
program t291;
var
k:boolean;
s,t:string;
n,f,b:longint;
c,c1,d,q1,e:byte;
a,q:array[1..26]of byte;
begin
fillchar(a,sizeof(a),0);
readln(n); readln(s);
q1:=ord('a')-1;
c1:=length(s);
for d:=1 to c1 do
begin
e:=ord(s[d])-q1;
a[e]:=a[e]+1;
end;
f:=0;
for b:=1 to n do
begin
readln(t);
c:=length(t);
if c=c1 then
begin
k:=true;
fillchar(q,sizeof(q),0);
for d:=1 to c do
begin
e:=ord(t[d])-q1;
q[e]:=q[e]+1;
end;
for d:=1 to 26 do
if a[d]<>q[d] then begin k:=false;break; end;
if k then inc(f);
end;
end;
write(f);
end.