70ptsdfs蒟蒻求救!
  • 板块P1605 迷宫
  • 楼主jixiang
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/8/18 18:24
  • 上次更新2023/11/4 10:11:08
查看原帖
70ptsdfs蒟蒻求救!
393674
jixiang楼主2021/8/18 18:24
#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
int n,m,tc;
int sx,sy;
int fx,fy;
int dirx[5]={0,0,-1,1};
int diry[5]={-1,1,0,0};
typedef pair<int ,int >pii;
queue<pii>q;
bool  vis[302][302];
int   t[302][302];
int ans;


void dfs(int sx,int sy)
{
	if(sx==fx&&sy==fy)
	{
		ans++;
		return ;
	}
	
	int xx,yy;
	
	
	for(int i=0;i<4;i++)
	{
			xx=sx+dirx[i];
			yy=sy+diry[i];
			if(xx<1||xx>n||yy<1||yy>m)continue;
			
			if(!vis[xx][yy]&&t[xx][yy]!=-1)
			{
				vis[xx][yy]=1;
				dfs(xx,yy);
				vis[xx][yy]=0;
			}
	}
	
}
int main()
{
    int px,py;
    
	cin>>n>>m>>tc;
	cin>>sx>>sy;
	cin>>fx>>fy;
	while (tc--)cin>>px>>py,t[px][py]=-1;
	dfs(sx,sy);
	
	cout<<ans;
	
}
2021/8/18 18:24
加载中...