30分求助!!!
  • 板块P1605 迷宫
  • 楼主MaoLaoDa
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/5/16 23:04
  • 上次更新2023/10/23 15:33:13
查看原帖
30分求助!!!
947684
MaoLaoDa楼主2023/5/16 23:04
#include <bits/stdc++.h>
using namespace std;
int n,m,t,gx,gy,fx,fy,ta,tb,mx[4]={0,0,1,-1},my[4]={1,-1,0,0},tot,walk[11][11]; 
bool a[10][10]={true};
void dfs(int x,int y){
	if(x==fx&&y==fy){
		tot++;
		return ;
	}
	for(int i=0;i<4;i++){
		if(a[x+mx[i]][y+my[i]]==true&&walk[x+mx[i]][y+my[i]]==0){
			walk[x][y]=1;
			dfs(x+mx[i],y+my[i]);
			walk[x][y]=0;
		}
	}
}
int main(){
	cin>>n>>m>>t>>gx>>gy>>fx>>fy;
	walk[gx][gy]=1;
	for(int i=1;i<=t;i++){
		cin>>ta>>tb;
		a[ta][tb]=0;
	}
	dfs(gx,gy);
	cout<<tot;
	return 0;
}
2023/5/16 23:04
加载中...