测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A70648. 迷宫的所有路径

编程题 基础

题目描述

已知一 N \times N 的迷宫,允许往上、下、左、右四个方向行走,且迷宫中没有任何障碍,所有的点都可以走。

现请你按照右、下、左、上顺序进行搜索,找出从左上角到右下角的所有路径。

输入格式

输入一个整数 NN≤5)代表迷宫的大小。

输出格式

按右、下、左、上搜索顺序探索迷宫,输出从左上角 (1,1) 点走到右下角 (N,N) 点的所有可能的路径。

输入输出样例

输入 #1
3
输出 #1
1:1,1->1,2->1,3->2,3->3,3
2:1,1->1,2->1,3->2,3->2,2->3,2->3,3
3:1,1->1,2->1,3->2,3->2,2->2,1->3,1->3,2->3,3
4:1,1->1,2->2,2->2,3->3,3
5:1,1->1,2->2,2->3,2->3,3
6:1,1->1,2->2,2->2,1->3,1->3,2->3,3
7:1,1->2,1->2,2->2,3->3,3
8:1,1->2,1->2,2->3,2->3,3
9:1,1->2,1->2,2->1,2->1,3->2,3->3,3
10:1,1->2,1->3,1->3,2->3,3
11:1,1->2,1->3,1->3,2->2,2->2,3->3,3
12:1,1->2,1->3,1->3,2->2,2->1,2->1,3->2,3->3,3

说明/提示

## 思路

「迷宫的所有路径」用深度优先搜索:沿一条路走到底再回溯,注意标记访问。

## 步骤

1. 读入图或网格。
2. 从起点 DFS,标记 vis,扩展相邻状态。
3. 在边界处更新答案或输出路径,回溯时恢复。