栈、队列及其应用---迷宫问题

一、需求分析

 

1、输入的形式和输入值的范围

本程序需要三组输入,分别是迷宫的行数、列数,最后把迷宫的值作为一个二维数组进行输入,根据提示输入起点坐标(sx,sy)和终点坐标(ex,ey),输入的类型均是正整数。

 

2、输出的形式

求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。结果显示为迷宫的一条通路(i1,j1,d1),(i2,j2,d2),(i3,j2,d2)..如果没有找到通路,则会输出显示“No Way ”

3、程序所能达到的功能

以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得到没有通路的结论。

 

4、测试数据

1)正确数据

 ①输入迷宫的行数m=9,列数n=8,构建迷宫


输入的起点1 1 输入终点 9 8

正确的输出结果应该为:

(1,1,1),(1,2,2),(2,2,2),(3,2,3),(3,1,2),(4,1,2),(5,1,1),(5,2,1),(5,3,2),(6,3,1),

(6,4,1),(6,5,4),(5,5,1),(5,6,1),(5,7,2),(6,7,2),(7,7,2),(8,7,2),(9,7,1)

② 输入迷宫的行数m=5,列数n=6;构建迷宫


输入起点1 1 输入终点 5 4

正确的输出结果应该为:

(1,1,2),(2,1,2),(3,1,1),(3,2,2),(4,2,1),(4,3,2),(5,3,1)

 

③没有通路的情况

输入迷宫的行数m=5,列数n=6,构建迷宫

输入起点1 1 输入终点5 6

结果显示:”No Way!”

2)错误数据

①输入迷宫的行数m=9,列数n=8  构建迷宫

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值