40分求助
  • 板块P1605 迷宫
  • 楼主wangyuanb
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/5/29 22:20
  • 上次更新2024/5/30 13:14:24
查看原帖
40分求助
1251659
wangyuanb楼主2024/5/29 22:20
#include<bits/stdc++.h>
using namespace std;
int fg[10][10],a[10][10],n,m,t,cnt=0,q1,q2;
int x,y,qx,qy,jx,jy;
int fx[4][2]={{-1,0},{0,1},{1,0},{0,-1}}; 
void dfs(int nx,int ny)
{
	fg[nx][ny]=1;
	if(nx==jx&&ny==jy){
		cnt++;
		fg[nx][ny]=0;
		return;
	}
	for(int i=0;i<=3;++i){
		x=nx+fx[i][0];y=ny+fx[i][1];
		if(a[x][y]==1&&fg[x][y]==0)dfs(x,y);
	}
	fg[nx][ny]=0;
	return;
}
int main()
{
	cin>>n>>m>>t>>qx>>qy>>jx>>jy;
	for(int i=1;i<=n;++i){
		for(int k=0;k<=m;++k){
			a[k][i]=1;
		}
	}
	for(int i=1;i<=t;++i){
		cin>>q1>>q2;
		a[q1][q2]=0;
	}
	dfs(qx,qy);
	cout<<cnt;
	return 0;
}
2024/5/29 22:20
加载中...