atcoder#AGC028F. [AGC028F] Reachable Cells

[AGC028F] Reachable Cells

配点 : 10001000

問題文

問題 F と問題 F2 は同じ問題ですが、制約と実行時間制限が異なります。

NN 行、横 NN 列のマスからなる盤面があります。 上から ii 行目、左から jj 列目のマスをマス (i,j)(i,j) とよびます。 それぞれのマスは、空である、もしくは、障害物が置かれている、のいずれかの状態です。 また、すべての空であるマスには数字が書かれています。 Ai,j=A_{i,j}= 1, 2, ... 9 のとき、マス (i,j)(i,j) は空で、そこに書かれている数字は Ai,jA_{i,j} です。 Ai,j=A_{i,j}= # のとき、マス (i,j)(i,j) には障害物が置かれています。

マス XX からマス YY に到達可能であるとは、以下の条件をすべて満たすことを意味します。

  • マス XX, YY は相異なる。
  • マス XX, YY はどちらも空である。
  • マス XX から出発し、右または下に隣接する空マスへの移動を繰り返すことで、マス YY に到達できる。

マス XX からマス YY に到達可能であるようなマスの組 (X,Y)(X,Y) すべてについて、マス XX にかかれている数字とマス YY にかかれている数字の積を求めたときの、その総和を求めてください。

制約

  • 1N5001 \leq N \leq 500
  • Ai,jA_{i,j}1, 2, ... 9, # のうちいずれかの文字である。

入力

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

NN

A1,1A1,2...A1,NA_{1,1}A_{1,2}...A_{1,N}

A2,1A2,2...A2,NA_{2,1}A_{2,2}...A_{2,N}

::

AN,1AN,2...AN,NA_{N,1}A_{N,2}...A_{N,N}

出力

マス XX からマス YY に到達可能であるようなマスの組 (X,Y)(X,Y) すべてについて、マス XX にかかれている数字とマス YY にかかれている数字の積を求めたときの、その総和を出力せよ。

2
11
11
5

マス XX からマス YY に到達可能であるようなマスの組 (X,Y)(X,Y) は、以下の 55 通りあります。

  • X=(1,1)X=(1,1), Y=(1,2)Y=(1,2)
  • X=(1,1)X=(1,1), Y=(2,1)Y=(2,1)
  • X=(1,1)X=(1,1), Y=(2,2)Y=(2,2)
  • X=(1,2)X=(1,2), Y=(2,2)Y=(2,2)
  • X=(2,1)X=(2,1), Y=(2,2)Y=(2,2)

どの組についても、XX にかかれている数字と YY にかかれている数字の積は 11 なので、答えは 55 になります。

4
1111
11#1
1#11
1111
47
10
76##63##3#
8445669721
75#9542133
3#285##445
749632##89
2458##9515
5952578#77
1#3#44196#
4355#99#1#
#298#63587
36065
10
4177143673
7#########
5#1716155#
6#4#####5#
2#3#597#6#
6#9#8#3#5#
5#2#899#9#
1#6#####6#
6#5359657#
5#########
6525