U362724 【秋季小学生模拟赛 1】D. 乒乒乓乓乓乓乒乒邦邦邦邦邦

题目背景

你掉进了一个迷宫里。

题目描述

这个迷宫里有几种地板,`@` 表示起点,`&` 表示终点,`0` 表示能走,`1` 表示不能走,大写字母表示一个传送门,可以传送到对应字母的位置,**特别的,走到传送门的位置时可以不传送**。你需要求出从起点开始最少要走几步才能到终点。

输入格式

第一行两个正整数,$n,m$,表示迷宫的大小。 然后一个 $n \times m$ 的字符矩阵,表示整个迷宫。

输出格式

一个正整数,表示最少的步数。若无解,则输出 `No Solution.`。

说明/提示

**【样例解释 \#1】** 第一步走到 $(2,1)$,传送到 $(3,4)$,第二步走到终点 $(3,5)$。 **【样例 \#2】** 见附件中的 `C2.in` 与 `C2.out`。 **【样例 \#3】** 见附件中的 `C3.in` 与 `C3.out`。 **【样例 \#4】** 见附件中的 `C4.in` 与 `C4.out`。 **【数据范围】** 保证对于 $100\%$ 的数据,$1\le n,m \le 10^3$,每个大写字母不超过 $2$ 个,保证有起点和终点。 | 测试点编号 | $n,m \le$ | 特殊性质 | | :----------: | :----------: | :----------: | | $1$ | $10$ | 无 | | $2$ | $10$ | 无 | | $3$ | $10^2$ | 无 | | $4$ | $10^2$ | 无 | | $5$ | $10^2$ | 无 | | $6$ | $10^3$ | 保证没有传送门 | | $7$ | $10^3$ | 保证数据在范围内均匀生成 | | $8$ | $10^3$ | 无 | | $9$ | $10^3$ | 无 | | $10$ | $10^3$ | 无 | upd on 2024.1.18:更改时空限制。