讨论 / 大牛帮忙看一下
lfwdj1992 2008-02-25 00:39:00
点我顶贴 收藏 删除
这是我的代码,到底哪错了呢?

var

a:array[1..20,1..20] of 0..500;

b:array[0..500] of record

pd:boolean;

zzb:1..20;

hzb:1..20;

end;

c:array[1..400] of record

gs:integer;

zzb:1..20;

hzb:1..20;

end;

i,j,l,t:integer;

m,n:1..20;

k:1..1000;

s:longint;

begin

readln(m,n,k);

for i:=0 to 500 do

b[i].pd:=false;

for i:=1 to m do

for j:=1 to n do

begin

if j<>n then read(a[i,j])

else readln(a[i,j]);

with b[a[i,j]] do

begin

pd:=true;

zzb:=i;

hzb:=j;

end;

end;

b[0].pd:=false;

t:=1;

for l:=500 downto 1 do

begin

if b[l].pd then

with c[t] do

begin

gs:=l;

zzb:=b[l].zzb;

hzb:=b[l].hzb;

end;

inc(t);

end;

s:=s+c[1].gs;

k:=k-1-c[1].zzb;

for i:=1 to t-1 do

if (k-abs(c[i+1].zzb-c[i].zzb)-abs(c[i+1].hzb-c[i].hzb)-1)>=(c[i+1].zzb+1) then

s:=s+c[i+1].gs

else break;

write(s);

end.

查看更多回复
提交回复