#4666. 矿洞照明

矿洞照明

题目描述

你正在设计一个地下矿洞的照明系统。矿洞是一个 HHWW 列的矩形区域,某些位置有无法穿透的岩柱(障碍物),其他位置是空的。

你可以在任意一个空位置安装一盏定向照明灯。灯光会向上、下、左、右四个方向直线传播,直到遇到岩柱或矿洞边界为止。灯光会照亮传播路径上的所有空位置(包括灯所在的位置),但不会照亮岩柱所在的位置。

你的任务是确定:安装一盏灯最多能照亮多少个位置。

输入格式

  • 第一行两个整数 HHWW
  • 接下来 HH 行,每行一个长度为 WW 的字符串,表示矿洞的地图:# 表示岩柱(障碍物),. 表示空位置(可以安装灯)。

输出格式

  • 输出一个整数,表示安装一盏灯最多能照亮的位置数量。

样例

4 3
.#.
...
.#.
...
6
3 5
...#.
.....
#...#
7
8 8
..#...#.
....#...
##......
..###..#
...#..#.
##....#.
#...#...
###.#..#
13

提示

样例 1 解释:可以安放在第 22 行第 11 列,最多可以照亮 66 格,没有更优的方案了。

数据范围

  • 对于 20%20\% 的数据,满足:1HimesW10001 \le H imes W \le 1000
  • 对于 40%40\% 的数据,满足:1HimesW20001 \le H imes W \le 2000
  • 对于 100%100\% 的数据,满足:1H20001 \le H \le 20001W20001 \le W \le 2000
  • 读入的 HH 行,每行都是长度为 WW 的字符串,由 #. 组成,. 至少出现一次。