10分code求调
  • 板块P1605 迷宫
  • 楼主Max_LS
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/10/24 23:15
  • 上次更新2024/10/25 10:02:45
查看原帖
10分code求调
1227116
Max_LS楼主2024/10/24 23:15
#include<bits/stdc++.h>
using namespace std;
int n,m,t,sub[8]={-1,1,0,0,0,0,1,-1},ans=0;
struct maze_sub{int x,y;}s,f;
bool maze[50][50];
void bfs(int x,int y){
	if(x==f.x&&y==f.y){
		ans++;	
		return;
	}
	for(int i=0,j=4;i<4&&j<8;i++,j++){
		if(0<x+sub[i]&&x+sub[i]<=n&&0<y+sub[j]&&y+sub[j]<=m&&maze[x+sub[i]][y+sub[j]]==0){
			maze[x+sub[i]][y+sub[j]]=1;
			bfs(x+sub[i],y+sub[j]);
			maze[x+sub[i]][y+sub[j]]=0;
		}
	}
}
int main(){
	//freopen("1.txt","r",stdin);
	cin>>n>>m>>t;
	cin>>s.x>>s.y>>f.x>>f.y;
	maze[s.x][s.y]=1;
	for(int i=0;i<t;i++){
		int a,b;
		cin>>a>>b;
		maze[a][b]=1;
	}
	bfs(s.x,s.y);
	cout<<ans;
	return 0;
}
2024/10/24 23:15
加载中...