atcoder#AGC028F. [AGC028F] Reachable Cells

[AGC028F] Reachable Cells

Score : 10001000 points

Problem Statement

Problem F and F2 are the same problem, but with different constraints and time limits.

We have a board divided into NN horizontal rows and NN vertical columns of square cells. The cell at the ii-th row from the top and the jj-th column from the left is called Cell (i,j)(i,j). Each cell is either empty or occupied by an obstacle. Also, each empty cell has a digit written on it. If Ai,j=A_{i,j}= 1, 2, ..., or 9, Cell (i,j)(i,j) is empty and the digit Ai,jA_{i,j} is written on it. If Ai,j=A_{i,j}= #, Cell (i,j)(i,j) is occupied by an obstacle.

Cell YY is reachable from cell XX when the following conditions are all met:

  • Cells XX and YY are different.
  • Cells XX and YY are both empty.
  • One can reach from Cell XX to Cell YY by repeatedly moving right or down to an adjacent empty cell.

Consider all pairs of cells (X,Y)(X,Y) such that cell YY is reachable from cell XX. Find the sum of the products of the digits written on cell XX and cell YY for all of those pairs.

Constraints

  • 1N5001 \leq N \leq 500
  • Ai,jA_{i,j} is one of the following characters: 1, 2, ... 9 and #.

Input

Input is given from Standard Input in the following format:

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}

Output

Print the sum of the products of the digits written on cell XX and cell YY for all pairs (X,Y)(X,Y) such that cell YY is reachable from cell XX.

2
11
11
5

There are five pairs of cells (X,Y)(X,Y) such that cell YY is reachable from cell XX, as follows:

  • 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)

The product of the digits written on cell XX and cell YY is 11 for all of those pairs, so the answer is 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