30分求助
  • 板块P1605 迷宫
  • 楼主Linco2012
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/6 15:40
  • 上次更新2024/3/6 18:22:41
查看原帖
30分求助
1165146
Linco2012楼主2024/3/6 15:40

30分求助

#include<iostream>
using namespace std;
int a[6][6],sum,c,n,m;
int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
void zmg(int x,int y)
{
	if(a[x][y]==-1&&c==1)
	{
		return ;
	}
	if(a[x][y]==-1)
	{
		c=1;
	}
	if(x==n-1&&y==m-1)
	{
		sum++;
		return ;
	}
	a[x][y]=1;
	for(int h=1;h<=4;h++)
	{
		int i=x-dir[i-1][0];
		int j=x-dir[i-1][1];
		if(a[n][m]==0&&n>0&&n>i&&m>0&&m>j)
		{
			zmg(i,j);
		}
	}
	a[x][y]=0;
}
int main()
{
	int t,x,y,sx,sy;
	cin>>n>>m>>t;
	cin>>sx>>sy;
	a[sx][sy]=-1;
	cin>>x>>y;
	a[x][y]=-2;
	for(int i=1;i<=t;i++)
	{
		cin>>x>>y;
		a[x][y]=1;
	}
	zmg(sx,sy);
	cout<<sum;
	return 0;
}
2024/3/6 15:40
加载中...