3、树林

3、树林

【题目描述】
现在有一片树林,小B很想知道,最少需要多少步能围绕树林走一圈,最后回到起点.他能上下左右走,也能走对角线格子。
土地被分成R行C列(1≤R≤50,1≤C≤50),下面是一张样例的地图,其中“.”表示小B可以走的空地,"X"表示树林," * ”表示起点。而小B走的最近的路己经特别地用“+”表示出来。
. . . + . . .
. . + X + . .
. + X X X + .
. . + X X X +
. . + X . . +
. . . + + + *
题目保证,一定有合法解并且有且只有一片树林,树林一定是上下左右联通的。
【输入数据】
第1行输入R和C,接下来R行C列表示一张地图。地图中的符号如题干所述。
【输出数据】
输出最少的步数。

Sample 1

Input

6 7
.......
...X...
..XXX..
...XXX.
...X...
......*

Output

13

Limitation

1s, 128MiB for each test case.
【数据范围】
对于40%的数据,R,C≤12。
对于60%的数据,R,C≤30。
对于100%的数据,R,C≤50。