挂哪儿了/yun
查看原帖
挂哪儿了/yun
955954
Miracle_InDream楼主2024/12/19 19:54
#include<bits/stdc++.h>
using namespace std;
const int N=15;
int n,m,t;
int mp[N][N];
int sx,sy,tx,ty;
int zx[N],zy[N];
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};
int vis[N][N];
int ans;
void dfs(int x,int y)
{
	if(x==tx&&y==ty)
	{
		ans++;
		return;
	}
	for(int i=0;i<4;i++)
	{
		int xx=x+dx[i];
		int yy=y+dy[i];
		if(xx>0&&yy>0&&xx<=n&&yy<=m&&vis[xx][yy]==0&&mp[xx][yy]==0)
		{
			vis[xx][yy]=1;
			dfs(xx,yy);
			vis[xx][yy]=0;
		}
	}
}
int main()
{
	memset(mp,0,sizeof(mp));
	memset(vis,0,sizeof(vis));
	cin>>n>>m>>t;
	cin>>sx>>sy>>tx>>ty;
	for(int i=1;i<=t;i++)
	{
		cin>>zx[i]>>zy[i];
		mp[zx[i]][zy[i]]=1;
	}
	if(mp[tx][ty]==1)
	{
		cout<<0;
		return 0;
	}
	dfs(sx,sy);
	cout<<ans;
	return 0;
}
2024/12/19 19:54
加载中...