100 atcoder#ABC129D. [ABC129D] Lamp

[ABC129D] Lamp

配点 : 400400

問題文

HH 行横 WW 列のグリッドが与えられます。このグリッドのうち、いくつかのマスには障害物が存在します。

すぬけ君は、障害物のないマスのうち一つを選び、そのマスに明かりを設置しようとしています。 設置されたマスから、上下左右の四方向にまっすぐに光線が伸びます。それぞれの方向について、最初に障害物が存在するマスにぶつかる、もしくはグリッドの端にぶつかる手前のマスまで照らされます。明かりを設置したマスも照らされますが、障害物が存在するマスは照らされません。

すぬけ君は明かりによって照らされるマスの個数を最大化したいです。

HH 個の長さ WW の文字列 SiS_i (1iH1 \leq i \leq H) が与えられます。SiS_ijj 文字目 (1jW1 \leq j \leq W) が # のとき、グリッドの上から ii 行目で左から jj 列目のマスには障害物があり、 . のときは障害物がありません。

照らされるマスの個数の最大値を求めてください。

制約

  • 1H2,0001 \leq H \leq 2,000
  • 1W2,0001 \leq W \leq 2,000
  • SiS_i#. のみからなる長さ WW の文字列
  • SiS_i (1iH1 \leq i \leq H) のうちいずれかに . は最低 11 つ存在する

入力

入力は以下の形式で標準入力から与えられる。

HH WW

S1S_1

::

SHS_H

出力

照らされるマスの個数の最大値を出力せよ。

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

すぬけ君が上から 22 行目、左から 22 列目のマスに明かりを設置すると、上から 22 行目のうち左から 1155 列目のマス、 左から 22 列目のうち上から 1144 列目のマス全てが照らされ、全部で 88 マスです。

8 8
..#...#.
....#...
##......
..###..#
...#..#.
##....#.
#...#...
###.#..#
13