#P10001. 逃到海狸的宫殿
逃到海狸的宫殿
Background
Special for beginners, ^_^
Description
邪恶的国王凯克特丝有一个魔法水桶,魔法水桶可以让水泛滥淹掉一切。善良的皮特与三个小刺猬一定要在洪水来到前逃到海狸的宫殿中。 R行C列的字符构成了魔幻地图:其中“.”表示空地;“*”表示魔法水桶所在位置;大写字母“X”表示岩石;大写字母“D”表示海狸的宫殿,而皮特与三个刺猬从发地用大写字母“S”表示。 每个时刻皮特与三个刺猬都有可以移动到四个方向(上、下、左、右)。每个时刻魔法水桶都让水淹没四周的空地(就是每次洪水上涨淹掉四周一圈空地)。皮特和三个刺猬既不能走过洪水区,也不能走过岩石。当然洪水是不能淹掉海狸的宫殿的。 写一个程序,在所给的地图中找出皮特与三个小刺猬逃到海狸的宫殿的最短时间。注意的是在同一个时刻他们不能移到洪水也漫到的地方。
Format
Input
输入文件slikar.in中第一行:输入地图的R,C它们均小等于50;接下来的R行C列由字符“.” “*” “X” “D” “S”组成。.
Output
输出文件slikar.in中仅一行:如果皮特与三个小刺猬能安全到达海狸的宫殿,则输出最短时间;否则输出大写单词“KAKTUS”.
Samples
3 6
D...*.
.X.X..
....S.
6
Limitation
1s, 1024KiB for each test case.