【题目描述】
CCY所在的城市可以用一个N*M(N,M<=50)的地图表示,地图上有五种符号:". * X D S"。其中"X"表示石头,水和人都不能从上面经过。"."表示平原,CCY和洪水都可以经过。"*"表示洪水开始地方(可能有多个地方开始发生洪水)。"D"表示CCY的别墅。"S"表示CCY现在的位置。
CCY每分钟可以向相邻位置移动,而洪水将会在CCY移动之后把相邻的没有的土地淹没(从已淹没的土地)。
求CCY回到别墅的最少时间。
【输入描述】
输入的第一行是两个整数N和M(N,M<=50)。
接下来是一个N行M列的字符矩阵,表示CCY所在城市的地图。
【输出描述】
输出仅有一个整数,为CCY回到别墅需要的最少时间。如果无解输出-1。
【输入样例】
3 3
D.*
...
.S.
【输出样例】
3
【数据范围及提示】
先BFS出每个点被水淹没的时间,然后再次BFS。