求大佬指正,代码过不了,不知道逻辑错到哪里,小白,求求
  • 板块P1605 迷宫
  • 楼主black_lu
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/4/8 18:50
  • 上次更新2024/4/8 20:47:42
查看原帖
求大佬指正,代码过不了,不知道逻辑错到哪里,小白,求求
1199759
black_lu楼主2024/4/8 18:50
#include <iostream>
#include<bits/stdc++.h>

using namespace std;
///迷宫问题,DFS用递归回溯实现 
#define Y 100
int mapp[Y][6]={};
int have[Y][6]={};

void  dfs(int x,int y,int z,int m,int& cnt){


	if(x<1||y<1||x>z||y>m||have[x][y]||mapp[x][y]==2)
	return;
		if(x==z&&y==m)
		{
			cnt++;
			return;
		}
	have[x][y]=1;
	int ex[4]={0,1,0,-1};
	int ey[4]={1,0,-1,0};
		int sx=x,sy=y;
	for(int i=0;i<4;i++){
	
	sx=x+ex[i];
	sy=y+ey[i];	
	dfs(sx,sy,z,m,cnt);
	}
	
	
}


int main(){
	
	int N,M,T,SX,SY,FX,FY,x,y;
	int cnt=0;
	cin>>N>>M>>T; 
	cin>>SX>>SY>>FX>>FY;
	for(int n=0;n<T;n++){
	cin>>x>>y;
	mapp[x-1][y-1]=2;
}
dfs(SX,SY,FX,FY,cnt);

cout<<cnt;

	return 0;
}
2024/4/8 18:50
加载中...