70 pts 求助
  • 板块P1605 迷宫
  • 楼主hexuchen
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/12/14 20:22
  • 上次更新2023/12/14 22:38:21
查看原帖
70 pts 求助
945742
hexuchen楼主2023/12/14 20:22
#include <bits/stdc++.h>
using namespace std;
int n,m,t,x,y,x2,y2,x3,y3,ans=0;
int dh[5]={0,-1,0,1,0};
int dl[5]={0,0,1,0,-1};
/*
 1
101
 1
*/
bool s[1001][1001];
void dfs(int h,int l);
int main(){
	cin>>n>>m>>t>>x>>y>>x2>>y2;
	for(int i=1;i<=t;i++){
		cin>>x3>>y3;
		s[x3][y3]=1;
	}
	dfs(x,y);
	cout<<ans;
	return 0;
}
void dfs(int h,int l){
	if(h==x2 && l==y2){
		ans++;
	}
	for(int i=1;i<=4;i++){
		if(h+dh[i]>=1 && h+dh[i]<=n && l+dl[i]>=1 && l+dl[i]<=m){
			if(!s[h+dh[i]][l+dl[i]]){
				s[h+dh[i]][l+dl[i]]=1;
				dfs(h+dh[i],l+dl[i]);
				s[h+dh[i]][l+dl[i]]=0;
			}
		}
	}
}
2023/12/14 20:22
加载中...