40分求助
  • 板块P1605 迷宫
  • 楼主dai_int128
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/7/3 14:53
  • 上次更新2023/10/27 22:00:19
查看原帖
40分求助
593126
dai_int128楼主2022/7/3 14:53
#include<bits/stdc++.h>
using namespace std;
int m,n;
int sx,sy,fx,fy;
int sum=0; 
int dx[4]={0,-1,0,1};
int dy[4]={-1,0,1,0};
int a[101][101];
bool b[101][101]={false};
void mg(int x,int y)
{
	if(x==fx&&y==fy)
	{
		sum++;
		return;
	}
	else
	{
		int nx,ny;
		for(int i=0;i<4;i++)
		{
			nx=dy[i]+x;
			ny=dx[i]+y;
			if(nx>=0&&ny>=0&&nx<n&&ny<n&&a[nx][ny]!=1&&b[nx][ny]==false)
			{
				b[nx][ny]=true;
				mg(nx,ny);
				b[nx][ny]=false;
			}
		}
	}
}
int main()
{
	int t,tx,t;
	cin>>n>>m>>t;
	cin>>sx>>sy>>fx>>fy;
	for(int i=1;i<=t;i++)
	{
		cin>>tx>>ty;
		a[tx][ty]=1;
	}
	a[sx][sy]=1;
	mg(sx,sy);
	cout<<sum;
	return 0;
} 
2022/7/3 14:53
加载中...