《走迷宫》双向BFS版本

本文详细介绍了如何使用双向广度优先搜索(BFS)算法来解决迷宫寻路问题,通过比较起点到终点的不同路径,提高了寻找最短路径的效率。内容包括算法原理、实现步骤以及代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<bits/stdc++.h>
#define UP(i,x,y) for(int i=x; i<=y; i++)
#define N 200 
using namespace std;
struct Node{
   
	int a=0;
	int b=0;
	int step=0;
	int begin; /* 表示从哪个出发的 0:从起点出发; 1:从终点出发的 */ 
};

int R,C;
char myMap[N][N];
int dir[5][5]; 
int book[N][N]={
   0};
int from[N][N];  /* from[x][y]表示:上次到xy这个点在队列myqueue的什么位置 */ 
Node myQueue[N*N];
int head=0,tail=2;

/* 
	从a,b出发走到 ea,eb的最短步数 
 */ 
int bfs(int a, int b, int ea
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值