#2#7#8WA
  • 板块P1605 迷宫
  • 楼主yszkddzyh
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/12/23 19:18
  • 上次更新2023/10/24 06:50:43
查看原帖
#2#7#8WA
737158
yszkddzyh楼主2022/12/23 19:18

麻烦大佬看看是哪里错了,本蒟蒻感激不尽

#include <iostream>
#include <cstring>
using namespace std;
int n,m,t,x,y,s,sx,sy,fx,fy,a[6][6],g[6][6],dx[4]={0,0,1,-1},dy[4]={1,-1,0,0};
void dfs(int p,int q){
	if(p==fx&&q==fy){
		g[p][q]=0;
		s++;
		return;
	}
	for(int i=0;i<4;i++){
		int u=p+dx[i],v=q+dy[i];
		if(u<1||v<1||u>n||v>m||a[u][v]||g[u][v]) continue;
		g[u][v]=1;
		dfs(u,v);
		g[u][v]=0;
	}
}
int main(){
	memset(a,0,sizeof(a));
	memset(g,0,sizeof(g));
	scanf("%d%d%d%d%d%d%d",&n,&m,&t,&sx,&sy,&fx,&fy);
	while(t--){
		scanf("%d%d",&x,&y);
		a[x][y]=1;
	}
	dfs(sx,sy);
	printf("%d",s);
	return 0;
}
2022/12/23 19:18
加载中...