讨论 / 最后两个点??
txtkeqm 2009-11-09 20:36:00
点我顶贴 收藏 删除
第九个点是什么?我用xor做的,为什么会超时?还有第十个点,总是输出错误答案,望哪位大牛肯赐教!!

Program p510;

var g:array[1..2] of int64;

ans:int64;

a,b,n,x,i,j,m,l,res:longint;

s:ansistring;

begin

readln(x,a,b,n,m);

fillchar(g,sizeof(g),0);

for i:=1 to m do

begin

readln(s);

l:=length(s);

res:=ord(s[1]);

for j:=2 to l do

res:=res xor ord(s[j]);

g[1]:=g[1]+res mod 19920229;

end;

for i:=m+1 to x do

begin

readln(s);

l:=length(s);

res:=ord(s[1]);

for j:=2 to l do

res:=res xor ord(s[j]);

g[2]:=g[2]+res mod 19920229;

end;

for i:=1 to n do

begin

ans:=((a*g[1]) mod 19920229+(b*g[2]) mod 19920229) mod 19920229;

g[1]:=g[2];

g[2]:=ans;

end;

write(ans);

end.

#1 超哥@2017-05-06 09:34:12
回复 删除
n<1000000000当然会超时。。。
查看更多回复
提交回复