ACM 算法3-3 迷宫 程序

本文探讨了ACM算法在解决机器人迷宫问题中的应用,通过栈的数据结构进行路径搜索,帮助机器人找到从起点到终点的正确出路。内容包括问题描述、算法设计及实现过程。
摘要由CSDN通过智能技术生成
题目描述
有一个 10 x 10 的迷宫,起点是‘S’,终点是‘E’,墙是‘#’,道路是空格。一个机器人从起点走到终点。当机器人走到一个通道块,前面已经没有路可走时,它会转向到当前面向的右手方向继续走。如果机器人能够过,则留下足迹‘*’,如果走不通,则留下标记‘!’。
下面给出书中的算法,请你模拟机器人的走法输出最终的状态。


输入

一个 10 x 10 的二维字符数组。


输出

机器人走过的路径状态。


#include <iostream>
#include <stack>
#include <cstdio>

using namespace std;

#define N 10

struct MazeCell{
    int i,j; //行列
    char sign;  //符号
    int direction; //1 2 3 4分别表示东南西北
};

class Maze{
private:
    MazeCell Map[N][N];
    MazeCell start;
    MazeCell end;
public:
    void inputMap(){
        for(int i = 0; i < N; i++){
            char str[N+1];
            gets(str);
            for(int j = 0; j < N; j++){
                this->Map[i][j].sign = str[j]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值