Counting Rectangles

2 secs 1024 MB
H44's icon H44

問題文

HHWW 列のマス目があり、上から ii 行目、左から jj 列目のマスをマス (i,j)(i,j) と表します。
マス (i,j)(i,j) は、SijS_{ij}. ならば白、# ならば黒で塗られています。
正整数の組 (X1,Y1,X2,Y2)(X_{1},Y_{1},X_{2},Y_{2}) であって、以下の条件を満たすものの個数を求めてください。

  • 1X1X2H1 \leq X_{1} \leq X_{2} \leq H
  • 1Y1Y2W1 \leq Y_{1} \leq Y_{2} \leq W
  • X1xX2, Y1yY2X_{1} \leq x \leq X_{2},\ Y_{1} \leq y \leq Y_{2} を満たすマス (x,y)(x,y) はすべて白で塗られている

制約

  • 1H,W4001 \leq H,W \leq 400
  • SijS_{ij}. または #

入力

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

HWH\quad W
S11S1WS_{11}\cdots S_{1W}
\vdots
SH1SHWS_{H1}\cdots S_{HW}

出力

正整数の組 (X1,Y1,X2,Y2)(X_{1},Y_{1},X_{2},Y_{2}) であって、条件を満たすものの個数を出力せよ。

サンプル

入力例1
2 2
..
#.
出力例1
5

(X1,Y1,X2,Y2)=(1,1,1,1), (1,1,1,2), (1,2,1,2), (1,2,2,2), (2,2,2,2)(X_{1},Y_{1},X_{2},Y_{2}) = (1,1,1,1),\ (1,1,1,2),\ (1,2,1,2),\ (1,2,2,2),\ (2,2,2,2)55 組が条件を満たします。


入力例2
3 4
.#.#
...#
#...
出力例2
20

答えは 3232 bit整数型に収まらない可能性があるので注意してください。

Submit


Go (1.21)