求助,莫名其妙就WA了,只有70
  • 板块P1605 迷宫
  • 楼主ReciiZolfer
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/10/11 08:15
  • 上次更新2023/11/5 11:12:42
查看原帖
求助,莫名其妙就WA了,只有70
209106
ReciiZolfer楼主2020/10/11 08:15
const
  dx:array[1..4] of longint=(-1,0,1,0);
  dy:array[1..4] of longint=(0,1,0,-1);
var
  a:array[0..100,0..100] of longint;
  flag:array[0..100,0..100] of boolean;
  i,j,x1,x2,y1,y2,p,q,n,m,t,ans:longint;

procedure find(x,y:longint);
var
  i:longint;
begin
  if (x<1) or (x>n) or (y<1) or (y>n) then exit;
  if (x=x2) and (y=y2) then
  begin
    inc(ans);
    exit;
  end;
  for i:=1 to 4 do
    if (a[x+dx[i],y+dy[i]]=0) and (flag[x+dx[i],y+dy[i]]=true) then
    begin
      flag[x+dx[i],y+dy[i]]:=false;
      find(x+dx[i],y+dy[i]);
      flag[x+dx[i],y+dy[i]]:=true;
    end;
end;

begin
  readln(n,m,t);
  readln(x1,y1,x2,y2);
  fillchar(a,sizeof(a),0);
  fillchar(flag,sizeof(flag),true);
  for i:=1 to t do
  begin
    readln(p,q);
    a[p,q]:=1;
  end;
  find(x1,y1);
  write(ans);
end.
2020/10/11 08:15
加载中...