30分求助!!!
  • 板块P1605 迷宫
  • 楼主mlkjy
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/5/2 13:38
  • 上次更新2024/5/2 17:48:38
查看原帖
30分求助!!!
1014599
mlkjy楼主2024/5/2 13:38
#include <bits/stdc++.h>
using namespace std;
int N,M,T,new_x,new_y,T_x,T_y,begin_x,begin_y,end_x,end_y,dx[4]={-1,1,0,0},dy[4]={0,0,-1,1},ans,a[10][10];
void dfs(int x,int y)
{
	if(x==end_x&&y==end_y)
	{
		ans++;
		return;
	}
	for(int i=0;i<4;i++)
	{
		new_x=x+dx[i];
		new_y=y+dy[i];
		if(new_x>=1&&new_x<=N&&new_y<=M&&new_y>=1&&a[new_x][new_y]==0)
		{
			
			a[new_x][new_y]=1;
			dfs(new_x,new_y);
			a[new_x][new_y]=0;
			
		}
	}
}
int main()
{
	cin>>N>>M>>T>>begin_x>>begin_y>>end_x>>end_y;
	for(int i=1;i<=T;i++)
	{
		cin>>T_x>>T_y;
		a[T_x][T_y]=1;
		
	}
	a[begin_x][begin_y]=1;
	dfs(begin_x,begin_y);
	cout<<ans;
}
2024/5/2 13:38
加载中...