40pts求救
  • 板块P1605 迷宫
  • 楼主rainbowe
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/1 22:54
  • 上次更新2024/11/2 10:39:35
查看原帖
40pts求救
744409
rainbowe楼主2024/11/1 22:54
#include <iostream>
using namespace std;
int ans,n,m,sx,sy,ex,ey,t,x,y,xx,yy;
int bx[4]={1,-1,0,0},by[4]={0,0,1,-1};
bool a[10][10],v[10][10];
void dfs(int nx,int ny)
{
	if(nx==ex&&ny==ey) ans++;
	else
	{
		for(int i=0;i<4;i++)
		{
			xx=nx+bx[i],yy=ny+by[i];
			if(xx<1||yy<1||xx>n||yy>m||a[xx][yy]||v[xx][yy]) continue;
			v[xx][yy]=1;
			dfs(xx,yy);
			v[xx][yy]=0;
		}
	}
	return;
}
int main()
{
	cin>>n>>m>>t>>sx>>sy>>ex>>ey;
	while(t--) 
	{
		cin>>x>>y;
		a[x][y]=1;
	}
	v[sx][sy]=1;
	dfs(sx,sy);
	cout<<ans;
	return 0;
}
2024/11/1 22:54
加载中...