萌新刚学OI,求助70分dfsQwQ
  • 板块P1605 迷宫
  • 楼主SIXIANG32
  • 当前回复13
  • 已保存回复13
  • 发布时间2020/6/13 22:23
  • 上次更新2023/11/7 00:42:13
查看原帖
萌新刚学OI,求助70分dfsQwQ
298549
SIXIANG32楼主2020/6/13 22:23
#include<iostream>
using namespace std;
int map[10][10],cnt;
int dx[6]={0,0,0,1,-1};
int dy[6]={0,1,-1,0,0};
bool vis[10][10];
int fx,fy,sx,sy,t,n,m;
void dfs(int x,int y) 
{
	if(x==sx&&y==sy)
	{
		cnt++;
		return ;
	}
	else
	{
		for(int p=1;p<=4;p++)
		{
			int xx=x+dx[p];
			int yy=y+dy[p];
			if((xx>=1&&xx<=n&&yy>=1&&yy<=m)&&!vis[xx][yy]&&!map[xx][yy])
			{
				vis[xx][yy]=1;
				dfs(xx,yy);
				vis[xx][yy]=0;
			}
		}
	}
}
int main()
{
	cin>>n>>m>>t>>fx>>fy>>sx>>sy;
	for(int p=1,x,y;p<=t;p++)
		cin>>x>>y,map[x][y]=1;
	dfs(fx,fy);
	cout<<cnt<<endl;
	return 0;
}

求助QwQ

2020/6/13 22:23
加载中...