C++搜索与回溯算法之迷宫问题

本文探讨了使用C++解决迷宫问题的方法,通过回溯和搜索算法找出从迷宫左上角到右下角的最短路径。在R行C列的迷宫中,避免障碍物并确保至少有一种可达路径。代码实现详细展示了如何遍历和记录行走步骤。
摘要由CSDN通过智能技术生成

迷宫问题:一个迷宫由RC列格子组成,有的格子里有障碍物,不能走,用'#'表示;有的格子是空地,可以走,用'.'表示;。给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到)。只能在水平方向或垂直方向走,不能斜着走。输入R、C和迷宫,输出所有路径。

代码如下:

 

#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
int r,c;
int num1[101],num2[101],total;   //存储数据
int wayr[4]={0,0,1,-1},wayc[4]={1,-1,0,0}; //进行移动
bool mark[101][101]; //判断该数是否被标记过
char maze[101][101]; //迷宫
bool chec
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值