求助 NOIP2012 寻宝
pascal吧
全部回复
仅看楼主
level 3
12我i 楼主
program fdtr;
type fd=record
go,dis:integer;
end;
var n,m:longint;
sum,su,jr,i,j:longint;
a:array[1..10000,0..100] of fd;
begin
read(n,m);
for i:=1 to n do
for j:=0 to m-1 do
read(a[i,j].go,a[i,j].dis);
read(jr); sum:=0;
for i:=1 to n do begin
su:=a[i,jr].dis; sum:=sum+su;
j:=jr;
while su>0 do begin
if a[i,j].go=1 then dec(su);
inc(j); if j=m then j:=0;
end;
dec(j); if j=-1 then j:=m-1;
jr:=j;
end;
writeln(sum mod 20123);
end.
为什么此程序只过了5点?求大神指点
2013年10月15日 14点10分 1
level 14
路过帮顶
2013年10月18日 13点10分 2
level 1
因为没优化
2015年04月04日 16点04分 4
level 11
好一记洛阳铲
2015年04月05日 02点04分 5
level 1
数据范围啊兄弟。
它最坏情况要运行1000000000+次,一秒搞得定?
在第n楼拿到数字x后
x:=(x+1)mod 第n层的有楼梯房间数 +1;
取得的余数,再去一个一个找,全过
2015年04月05日 13点04分 6
1