4155 - 迷宫探索

题目描述

A 正在参加一场迷宫探索竞赛。竞赛场地是一个由 NM 列方格组成的矩形迷宫。在迷宫中,部分方格是平坦的通道(用 . 表示),部分方格则是坚硬的墙壁(用 # 表示)。

为了快速了解迷宫的结构,小 A 配备了一个高科技信号探测仪。小 A 可以将其放置在迷宫中的任意一个通道方格内。探测仪一旦启动,会同时向上、下、左、右四个方向发射直线脉冲信号。

信号的传播规则如下:

  1. 信号只能在通道方格中传播。
  2. 信号在每个方向上都会沿直线行进,直到遇到墙壁迷宫边界为止。
  3. 被信号经过的所有通道方格(包括探测仪所在的那个方格)都会被探测仪记录下来。

A 希望找出一个最佳的放置位置,使得探测仪单次发射信号能够记录到的通道方格数量最多。

请你编写程序,帮助小 A 计算出,探测仪能记录到的通道方格的最大数量。

输入

输入第一行包含两个正整数 NM,表示迷宫的行数和列数。

接下来的 N 行,每行包含一个长度为 M 的字符串,代表迷宫的布局。其中 . 表示通道,# 表示墙壁,输入保证字符串中只包含这两种字符。

输出

输出一个整数,表示在最佳放置位置下,探测仪能够记录到的通道方格的最大数量。

样例

输入

4 6
#..#..
.....#
....#.
#.#...

输出

8

输入

8 8
..#...#.
....#...
##......
..###..#
...#..#.
##....#.
#...#...
###.#..#

输出

13

输入

12 15
...............
...#...........
.......#.......
...............
.....#.........
............#..
...............
..#............
...............
.......#.......
...............
....#..........

输出

26
说明

样例 1 说明:

若将探测仪放置在第 2 行第 2 列(行、列索引均从 1 开始计算):

  • 水平方向:可以探测到第 2 行中从第 1 列到第 5 列的所有通道(.),共 5 个方格。
  • 垂直方向:可以探测到第 2 列中从第 1 行到第 4 行的所有通道(.),共 4 个方格。
  • 合并记录:由于第 2 行第 2 列的方格在两个方向都被探测到了,因此总记录数为 5 + 4 - 1 = 8

经过验证,这是该迷宫中放置探测仪的最优方案。

数据范围

测试点编号N,M
1N=1,M=1
2N=1,M \le 2000
3N \le 2000,M = 1
4N \le 200,M \le 200
5 \sim 10N \le 2000,M \le 2000

对于 100\% 的数据,满足 1 \le N, M \le 2000

输入数据保证迷宫中至少存在一个通道方格(.)。

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 3 枚
难度 基础


上一题 下一题