30pts求调玄关
查看原帖
30pts求调玄关
1053122
liruizhou_lihui楼主2024/9/20 17:05
//#include<bits/stdc++.h>
#include<iostream>
#include<math.h>
#include<cstring>
#include<string.h>
#include<algorithm>
#include<stack>
#include<queue>
#include<stdio.h>
using namespace std;
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};
int n,m,t,a,b,u,v;
int g[10][10],ans;
void dfs(int x,int y)
{
	if(x==u && y==v)
	{
		ans++;
		return;
	}
	if(g[x][y]||x>n||y>m||x<1||y<1)
	{
		return; 
	}
	//cout<<x<<' '<<y<<'\n';
	for(int i=0;i<4;i++)
	{
		int xx=x+dx[i];
		int yy=y+dy[i];
		if(g[xx][yy]||xx>n||yy>m||xx<1||yy<1)
		{
			continue;
		}
		g[xx][yy]=1;
		dfs(xx,yy);
		g[xx][yy]=0;
	}
}
int main()
{
	cin>>n>>m>>t;
	cin>>a>>b>>u>>v;
	while(t--)
	{
		int x,y;
		cin>>x>>y;
		g[x][y]=1;
	}
	dfs(a,b);
	cout<<ans;
	return 0;
}
2024/9/20 17:05
加载中...