萌新。。刚学oi。。搜索怎么写,求
  • 板块P1605 迷宫
  • 楼主wway
  • 当前回复9
  • 已保存回复9
  • 发布时间2022/10/10 19:50
  • 上次更新2023/10/27 07:58:07
查看原帖
萌新。。刚学oi。。搜索怎么写,求
602960
wway楼主2022/10/10 19:50
#include<bits/stdc++.h>
int a[10][10];
int n,m,t,ans=0,ax,ay,bx,by,cx,cy;
bool b[10][10];//走 
int dx[4]={0,0,-1,1};
int dy[4]={-1,1,0,0};
void dfs(int p,int q)
{
	if(p==bx && q==by)
	{
		ans++;
		return;	
	}
	else 
	{
		for(int i=0;i<=3;i++)
		{
			int kx=p+dx[i];
			int ky=q+dy[i];
			if(kx>=1 && ky>=1 && a[kx][ky]==0 && b[kx][ky]==0)
			{
				b[p][q]=1;
				dfs(kx,ky);
				b[p][q]=0;
			}
		}
	}
	
}
int main()
{
	for(int i=1;i<=10;i++) for(int j=1;j<=10;j++) a[i][j]=1;//初始化 
	std::cin>>n>>m>>t;
	for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) a[i][j]=0;
	std::cin>>ax>>ay>>bx>>by;
	for(int i=1;i<=t;i++) 
	{
		std::cin>>cx>>cy;
		a[cx][cy]=1;
	}
	dfs(ax,ay);
	std::cout<<ans;
	return 0;
}
2022/10/10 19:50
加载中...