{"trustable":false,"sections":[{"title":"题目描述","value":{"format":"HTML","content":"\u003cdiv class\u003d\"ptx\" lang\u003d\"en-US\"\u003e幻♂想♀乡的北部有一个非常大而复杂的迷宫。迷宫被分成几个方块,每个方块要么被岩石填满,要么是自由的。在每一个自由街区的中央,地板上也有一个小钩子。♂♀发现其中两个钩子必须用一根绳子连接起来,绳子穿过两个钩子之间路径上每个街区的钩子。当绳子系上时,一扇密门打开了。问题是我们不知道要连接哪些钩子。这也意味着绳子的必要长度是未知的。你的任务是确定一个给定迷宫所需要的绳子的最大长度. \u003c/div\u003e"}},{"title":"输入格式","value":{"format":"HTML","content":"\u003cdiv class\u003d\"ptx\" lang\u003d\"en-US\"\u003e输入由T个测试用例组成。它们的数量(T)在输入文件的第一行给出。每个测试用例从一行开始,该行包含两个整数C和R(3\u003c\u003dC、 R\u003c\u003d1000)表示列数和行数。紧接着就是R行,每行包含C个字符。这些字符指定了迷宫。它们要么是(#),要么是(.)。(#)表示岩石,(.)表示自由块。只能在相邻街区之间行走,其中相邻街区是共享公共侧的街区。我们不能斜行,也不能走出迷宫。\n\u003cbr\u003e迷宫的设计方式使任意两个自由块之间正好有一条路径。因此,如果我们找到合适的钩子来连接,就很容易找到连接它们的正确路径。 \u003c/div\u003e"}},{"title":"输出格式","value":{"format":"HTML","content":"\u003cdiv class\u003d\"ptx\" lang\u003d\"en-US\"\u003e您的程序必须为每个测试用例打印一行输出。该行必须包含“Maximum rope length is X”一句,其中X是任意两个自由块之间最长路径的长度,以块为单位测量。 \u003c/div\u003e"}},{"title":"样例输入","value":{"format":"HTML","content":"\u003cpre class\u003d\"sio\"\u003e2\n3 3\n###\n#.#\n###\n7 6\n#######\n#.#.###\n#.#.###\n#.#.#.#\n#.....#\n#######\u003c/pre\u003e"}},{"title":"样例输出","value":{"format":"HTML","content":"\u003cpre class\u003d\"sio\"\u003eMaximum rope length is 0.\nMaximum rope length is 8.\u003c/pre\u003e"}},{"title":"提示","value":{"format":"HTML","content":"\u003cdiv class\u003d\"ptx\" lang\u003d\"en-US\"\u003e输入量巨大,建议使用scanf。\n\u003cbr\u003e如果使用递归,可能是堆栈溢出。现在C++ +C的堆栈大小大于g++/gcc\u003c/div \u003e"}}]}