#6674. 限步迷宫路径
限步迷宫路径
题面:限步迷宫路径
时间限制: 1 秒 内存限制: 256 MB
给定一个 n 行 m 列的迷宫。
迷宫中包含以下字符:
S 表示起点
E 表示终点
. 表示可以通过的空地
# 表示不能通过的墙
你从起点 S 出发,每一步可以向上、下、左、右四个方向之一移动一格。
在一条路径中,同一个格子不能被重复经过。并且整条路径的步数不能超过 limit。
请你计算从 S 到 E 一共有多少条合法路径。
输入格式
第一行包含三个整数 n, m, limit。
接下来 n 行,每行包含一个长度为 m 的字符串,表示迷宫。
输出格式
输出一个整数,表示从起点到终点的合法路径数量。
数据范围
1 <= n, m <= 8
0 <= limit <= 20
保证迷宫中恰好有一个 S 和一个 E。
样例
输入
2 3 4
S..
..E
输出
3
说明
从左上角的 S 出发,在不重复经过格子且步数不超过 4 的条件下,共有 3 条路径可以到达 E。
测试点说明表
| 测试点编号 | n, m ≤ | limit ≤ | 特殊性质 | 设计目的 |
|---|---|---|---|---|
| 1 | 2 | 1 | 起点终点相邻 | 覆盖最小可达路径 |
| 2 | 0 | 起点终点相邻但步数不足 | 检查步数限制剪枝 | |
| 3 | 3 | 4 | 对应原程序地图 | 覆盖基础多路径计数 |
| 4 | 2 | 原地图但步数不足 | 检查 limit 边界 |
|
| 5 | 4 | 有墙且只有一条路 | 覆盖障碍物剪枝 | |
| 6 | 墙完全阻断 | 覆盖不可达情况 | ||
| 7 | 8 | 无墙开放网格 | 覆盖不重复走的多路径统计 | |
| 8 | 4 | 6 | 中等地图,有绕行 | 覆盖普通迷宫路径搜索 |
| 9 | 5 | 10 | 障碍较多 | 覆盖较复杂可达路径 |
| 10 | 12 | 较大地图 | 覆盖深层 DFS 和较大答案 |
相关
在以下作业中: