欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

P1605 迷宫【洛谷】

程序员文章站 2022-06-08 17:57:03
...

P1605 迷宫【洛谷】

#include<bits/stdc++.h>
using namespace std;
int sx,sy,ex,ey,tx,ty,n,m,t,g[6][6],ans;
int dx[]={0,1,-1,0,0};
int dy[]={0,0,0,1,-1};
void DFS(int nx,int ny)
{
	if(nx==ex&&ny==ey)	{ans++;return;}
	for(int i=1;i<=4;i++)
	{
		int newX=nx+dx[i];
		int newY=ny+dy[i];
		if(!g[newX][newY]&&newX>=1&&newX<=m&&newY>=1&&newY<=n)
		{
			g[newX][newY]=1;
			DFS(newX,newY);
			g[newX][newY]=0;
		}
	}
}
int main()
{
	cin>>n>>m>>t;
	cin>>sx>>sy>>ex>>ey;
	while(t--)
	{
		cin>>tx>>ty;
		g[tx][ty]=1;
	}
	g[sx][sy]=1;
	DFS(sx,sy);
	cout<<ans;
}
相关标签: 搜索 dfs