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;
}
发布了180 篇原创文章 · 获赞 22 · 访问量 9008

猜你喜欢

转载自blog.csdn.net/qq_44622401/article/details/104296507