atcoder#TENKA12018E. Equilateral

Equilateral

配点 : 700700

問題文

xyxy 平面上にコインがいくつかあります。 コインの配置は HHWW 列のグリッドを用いて表され、グリッドの iijj 列目の文字 sijs_{ij}# のとき座標 (i,j)(i,j) にコインがひとつあることを、 . のとき座標 (i,j)(i,j) にコインがないことを表します。 その他に xyxy 平面上にコインは存在しません。

相異なるコインの 33 つ組であって、以下の条件を満たすものの個数を求めてください。

  • 33 つのうちどの 22 つのコインをとっても、それらの存在する座標の間のマンハッタン距離が一定である

ただし、座標 (x,y),(x,y)(x,y),(x',y') の間のマンハッタン距離は、xx+yy|x-x'|+|y-y'| で表されます。 また、コインの順番を入れ替えただけの組は同じものとみなします。

制約

  • 1H,W3001 \leq H,W \leq 300
  • sijs_{ij}# または . である

入力

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

HH WW

s11...s1Ws_{11}...s_{1W}

::

sH1...sHWs_{H1}...s_{HW}

出力

条件を満たす組の個数を出力せよ。

5 4
#.##
.##.
#...
..##
...#
3

$((1,1),(1,3),(2,2)),((1,1),(2,2),(3,1)),((1,3),(3,1),(4,4))$ が条件を満たします。

13 27
......#.........#.......#..
#############...#.....###..
..............#####...##...
...#######......#...#######
...#.....#.....###...#...#.
...#######....#.#.#.#.###.#
..............#.#.#...#.#..
#############.#.#.#...###..
#...........#...#...#######
#..#######..#...#...#.....#
#..#.....#..#...#...#.###.#
#..#######..#...#...#.#.#.#
#..........##...#...#.#####
870