社区讨论
为什么只有70分?
P1605迷宫参与者 13已保存回复 12
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 12 条
- 当前快照
- 1 份
- 快照标识符
- @mi4f4qf5
- 此快照首次捕获于
- 2025/11/18 18:16 4 个月前
- 此快照最后确认于
- 2025/11/18 18:18 4 个月前
CPP
program ex;
const z:array[1..4,1..2] of longint=((-1,0),(0,-1),(1,0),(0,1));
var a:array[0..6,0..6] of longint;
b:array[0..6,0..6] of boolean;
s,m,n,t,sx,sy,fx,fy,x,y,i,j:longint;
procedure dfs(x,y:longint);
var i:longint;
begin
if (x=fx)and(y=fy) then
begin
s:=s+1;
exit;
end;
for i:=1 to 4 do
if (b[x+z[i,1],y+z[i,2]]=false)and(a[x+z[i,1],y+z[i,2]]=0) then
begin
b[x+z[i,1],y+z[i,2]]:=true;
dfs(x+z[i,1],y+z[i,2]);
b[x+z[i,1],y+z[i,2]]:=false;
end;
end;
begin
fillchar(a,sizeof(a),0);
fillchar(b,sizeof(b),false);
s:=0;
readln(n,m,t);
readln(sx,sy,fx,fy);
for i:=1 to t do
begin
readln(x,y);
a[x,y]:=1;
end;
for i:=0 to m+1 do
begin
a[0,i]:=1;
b[0,i]:=true;
end;
for i:=1 to n+1 do
begin
a[i,0]:=1;
b[i,0]:=true;
end;
for i:=0 to m+1 do
begin
a[n+1,i]:=1;
b[n+1,i]:=true;
end;
for i:=0 to n+1 do
begin
a[i,m+1]:=1;
b[i,m+1]:=true;
end;
dfs(sx,sy);
write(s);
end.
回复
共 12 条回复,欢迎继续交流。
正在加载回复...