首页 > 试题广场 >

迷宫中的牛可乐

[编程题]迷宫中的牛可乐
  • 热度指数:134 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
牛可乐有一个列的迷宫,如果是'#',代表第行第列的方格为墙壁,如果是'.',代表第行第列的方格为可走方格。

每一步移动在一个可走方格,可以水平的或者垂直的移动到相邻的一个可走方格中。

但是不能走出迷宫,不能走到一个墙壁方格,也不能对角线方向移动。

你可以选择任意一个起点方格和终点方格(这两个方格必须为可走方格,且可以相互到达)。

牛可乐将从你选择的起点方格用最小的步数移动到终点方格。

本题需要你最优的选择起点方格和终点方格后让牛可乐必须要移动的步数尽可能大,你需要计算这个步数的最大值。


输入描述:

第一行一个整数

接下来行,每行个字符 代表迷宫

中至少包含2个字符‘.’



输出描述:
一行一个整数代表答案
示例1

输入

3 3
...
.#.
...

输出

4
示例2

输入

5 5
...#.
...#.
.#...
#....
.#..#

输出

8
示例3

输入

5 5
#..#.
...#.
.....
#.#..
....#

输出

8