【牛客网华为机试】HJ43 迷宫问题

本文介绍了如何使用DFS解决从迷宫左上角到右下角的最短路径问题。通过输入迷宫的行数、列数及数组表示,确保存在唯一解。解题思路包括使用递归实现DFS,设定移动规则,并将正确路径倒序输出。提供了相关参考链接。

题目

描述

定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5 × 5数组下所示:
int maze[5][5] = {
0, 1, 0, 0, 0,
0, 1, 1, 1, 0,
0, 0, 0, 0, 0,
0, 1, 1, 1, 0,
0, 0, 0, 1, 0,
};
它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。入口点为[0,0],既第一格是可以走的路。

本题含有多组数据。

输入描述:

输入两个整数,分别表示二维数组的行数,列数。再输入相应的数组,其中的1表示墙壁,0表示可以走的路。数据保证有唯一解,不考虑有多解的情况,即迷宫只有一条通道。

输出描述:

左上角到右下角的最短路径,格式如样例所示。

示例1

输入:

5 5
0 1 0 0 0
0 1 1 1 0
0 0 0 0 0
0 1 1 1 0
0 0 0 1 0

输出:

(0,0)
(1,0)
(2,0)
(2,1)
(2,
### 关于牛客网华为第108题的信息 目前在已知的参考资料中,并未提及具体的“华为第108题”的相关内容[^1]。通常情况下,华为题编号范围集中在前几十道题目(如HJ1至HJ30),这些题目涵盖了常见的算法和逻辑问题,例如字符串操作、数组处理、动态规划等[^2]。 如果目标是寻找特定编号较高的题目(如第108题),可能该题目属于较新的更新或者不在公开资料范围内。建议通过以下方式获取更多信息: 1. **访问牛客网官方页面**:登录牛客网并搜索关键词“华为”,查看是否有最新的题目发布。 2. **社区讨论区查询**:许多用户会在论坛或评论区分享自己的解题经验以及遇到的新题目。 3. **模拟测环境**:部分付费会员服务可能会提供更全面的练习资源,包括高编号的题目。 以下是基于常见华为特点推测的一般解题思路框架,适用于大多数类型的编程挑战: #### 常见解题模板 对于未知的具体题目,可以采用通用的方法来分析和解决问题: ```python def solve_problem(input_data): """ 输入参数定义 :param input_data: 用户输入的数据结构 (e.g., 列表, 字符串) :return: 计算后的结果 """ result = None # 数据预处理阶段 processed_input = preprocess(input_data) # 主要逻辑实现 if isinstance(processed_input, list): result = handle_list_logic(processed_input) elif isinstance(processed_input, str): result = handle_string_logic(processed_input) return postprocess(result) def preprocess(data): """ 对原始数据进行清洗或转换 """ pass def handle_list_logic(lst): """ 处理列表形式的任务逻辑 """ pass def handle_string_logic(s): """ 处理字符串形式的任务逻辑 """ pass def postprocess(output): """ 结果后置处理,比如格式化输出 """ pass ``` 此代码仅为示意用途,实际应用需根据具体需求调整函数功能与细节[^4]。 --- ####
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

202xxx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值