gsy 的回家之路
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
说明
gsy 上夜班终于结束了!看着路边的灯光,回家这个词是如此的吸引人。为了能够快速回家,gsy 用夺命连环call找到了大法师,希望大法师能帮她快点到家。
现在假设城市是一个 N * M 的地图,gsy的公司在左上角(1,1),gsy的家在右下角(N,M),城市中存在一些建筑物,用 '1' 表示,而能够行走的空地则用 '0' 表示,gsy 只能在空地上移动,且只能上下左右移动,每次移动花费 1 单位的时间
大法师为了帮助gsy快速回家,在地图上设置了一些传送法阵,但是因为是临时设接到电话需要布置法阵,所以法师也没有仔细观察地图,就在地图上随机布置了一些法阵。
法阵用大写字母表示,当 gsy 进入 'A' 传送法阵时,可以传送到另一个 'A' 传送法阵(一个法阵可以使用无限次)
如果有以下地图 00A 000 A00
当gsy进入坐标为 (3,1) 的传送法阵时,会直接传送到坐标 (1,3)
**注意这个传送不可控,即只要进入传送法阵必须要被传送到另一边**
而如果需要从坐标为 (1,3) 的传送法阵再次传送回来,则需要先移动到 (2,3),再回到 (1,3),重新进入法阵,才可以传送回 (3,1)
现在 gsy 想知道,她最快需要花费多少个单位的时间才能回到家?
若 gsy 不能回到家,则输出 "No Solution."(双引号不需要输出)
输入格式
输入第一行包含两个正整数 N,M 表示有一个 N * M 的地图
接下来 N 行,每行 M 个字符,题目保证输入只包含 1,0 和大写字母,并且保证同一个大写字母有且只会出现两次
对于 60% 的数据,N,M <= 20
对于 100% 的数据,N,M <= 100
接下来 N 行,每行 M 个字符,题目保证输入只包含 1,0 和大写字母,并且保证同一个大写字母有且只会出现两次
对于 60% 的数据,N,M <= 20
对于 100% 的数据,N,M <= 100
输出格式
输出只有一行,该行只有一个正整数,表示gsy最小需要花费的时间,若无法回家则输出 "No Solution."(双引号不需要输出)样例
3 4
0000
0000
A0A03