求对着pascal标程进行讲解——noip2012普及组第二题宝藏

noip2012普及组第二题:宝藏;跪求讲解啊!泪奔,只知道是模拟满分标程如下:vara,b:array[1..10005,0..105]oflongint;n,m,i,... noip2012普及组 第二题:宝藏;
跪求讲解啊!泪奔,只知道是模拟
满分标程如下:
var a,b:array [1..10005,0..105] of longint; n,m,i,j,k,start,ans:longint;
function gp(c,x,k:longint):longint;
var i,j,all:longint;
begin
all:=0;
for i:=0 to m-1 do if a[c,i]=1 then inc(all);
k:=k mod all;
if k=0 then k:=all;
j:=0;
i:=x;
while 0=0 do begin
if a[c,i]=1 then inc(j);
if j=k then exit(i);
i:=(i+1) mod m;
end;
end;
begin
assign(input,'treasure.in');reset(input);
assign(output,'treasure.out');rewrite(output);
readln(n,m);
for i:= 1 to n do
for j:=0 to m-1 do readln(a[i,j],b[i,j]);
readln(start);
ans:=0;
for i:=1 to n do begin
ans:=(ans+b[i,start]) mod 20123;
start:=gp(i,start,b[i,start]);
end;
writeln(ans);
close(input);close(output);
end.
答好了有追加
展开
 我来答
xyyxiao07
2015-04-09 · 超过31用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:56.9万
展开全部
每一层其实都是在不断转圈,所以直接模拟会超时,我们只需要计算每层转一圈要走几步,取个模就可以了
追问
详细点行吗????
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式