萌新求教

P1443 马的遍历

怪物系列 我认真看看啊QAQ
by Celestial_Scarlet @ 2018-10-08 21:25:16


@[FCBM71](/space/show?uid=45176) 用记忆化搜索试试?
by Celestial_Scarlet @ 2018-10-08 21:26:49


@[baoyu](/space/show?uid=93465) 额,怎么写
by FCBM71 @ 2018-10-08 21:31:07


C党开始不知所措,不知所云,不知该干嘛...
by NULL0x7f @ 2018-10-08 21:38:08


几分
by 月痕 @ 2018-10-25 14:00:56


var n,m,x,y,xx,yy,t,w,i,j:longint; s:string; a:array[1..400,1..400]of longint; b:array[1..400,1..400]of boolean; h:array[1..160000,1..2]of longint; dx:array[1..8]of longint=(-2,-1,1,2,2,1,-1,-2); dy:array[1..8]of longint=(1,2,2,1,-1,-2,-2,-1); begin read(n,m,x,y); for i:=1 to n do for j:=1 to m do a[i,j]:=-1; a[x,y]:=0; b[x,y]:=true; t:=1; w:=1; h[1,1]:=x; h[1,2]:=y; while (t<=w) do begin for i:=1 to 8 do begin xx:=h[t,1]+dx[i]; yy:=h[t,2]+dy[i]; if(xx>=1)and(xx<=n)and(yy>=1)and(yy<=m) and not b[xx,yy] then begin inc(w); h[w,1]:=xx; h[w,2]:=yy; b[xx,yy]:=true; a[xx,yy]:=a[h[t,1],h[t,2]]+1; end; end; inc(t); end; for i:=1 to n do begin for j:=1 to m do begin str(a[i,j],s); write(s,' ':5-length(s)); end; writeln; end; end.
by 月痕 @ 2018-10-25 14:01:28


|