1846. Infinity的装备

时间限制 1000 ms   内存限制 64 MB

“测试服终于下完了!” Infinity 来到了一望无际的沙漠 Miramar。
Infinity 降落到了 Los Leones 城,他在天上看到城区里有一些装备。

2Rqem4sHIMmlCNWJNBsCCvNbeEygDv88EN2oBEhH.jpeg

但是城区地形复杂、装备繁多,来回捡各种装备肯定要走不少回头路。
Infinity 想尽快搜齐所有装备,你能告诉他最快多久可以集齐所有装备吗?

Los Leones 城可以表示为一个 $n\times m$ 的矩形。
其中, # 表示不可穿越的高墙,I 表示 Infinity 降落的位置,E 表示装备。
Infinity 一次移动可以向上下左右之一的方向移动一格,但不能到达高墙。
当 Infinity 和装备处于同一位置时,Infinity 可以(不消耗移动步数地)立即获得这个装备。

输入数据

第一行为一个整数 $t\ (1\le t\le200)$,表示数据的组数。接下来对于每组数据:
第一行为三个整数 $n,m,k\ (3\le n,m\le 10;1\le k\le 10)$,表示城市的高、宽,和装备的数量。
接下来 $n$ 行,每行为一个长度为 $m$ 的字符串,表示城市的布局,具体含义见题目描述。
保证城市的最外圈都是高墙。保证所有装备从初始位置可达。

输出数据

对于每组数据,输出一行:
第一行为一个整数,表示 Infinity 集齐所有装备所需最少的移动次数。

样例输入

复制
1
5 7 2
#######
#   I #
# ### #
# E#E #
####### \n
 · · \n
       \n
 ··· · \n
 ·   · \n
 ·   · \n
       \n

样例输出

复制
14  \n

样例说明

测试数据有点小问题,迷之 WA / RE / TLE 可以看一下这个链接。
http://blog.csdn.net/qwb492859377/article/details/48323443

提交

请先 登录

© 2024 FAQs Contact About