100793: [AtCoder]ABC079 D - Wall

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $400$ points

Problem Statement

Joisino the magical girl has decided to turn every single digit that exists on this world into $1$.

Rewriting a digit $i$ with $j$ $(0≤i,j≤9)$ costs $c_{i,j}$ MP (Magic Points).

She is now standing before a wall. The wall is divided into $HW$ squares in $H$ rows and $W$ columns, and at least one square contains a digit between $0$ and $9$ (inclusive).

You are given $A_{i,j}$ that describes the square at the $i$-th row from the top and $j$-th column from the left, as follows:

  • If $A_{i,j}≠-1$, the square contains a digit $A_{i,j}$.
  • If $A_{i,j}=-1$, the square does not contain a digit.

Find the minimum total amount of MP required to turn every digit on this wall into $1$ in the end.

Constraints

  • $1≤H,W≤200$
  • $1≤c_{i,j}≤10^3$ $(i≠j)$
  • $c_{i,j}=0$ $(i=j)$
  • $-1≤A_{i,j}≤9$
  • All input values are integers.
  • There is at least one digit on the wall.

Input

Input is given from Standard Input in the following format:

$H$ $W$
$c_{0,0}$ $...$ $c_{0,9}$
$:$
$c_{9,0}$ $...$ $c_{9,9}$
$A_{1,1}$ $...$ $A_{1,W}$
$:$
$A_{H,1}$ $...$ $A_{H,W}$

Output

Print the minimum total amount of MP required to turn every digit on the wall into $1$ in the end.


Sample Input 1

2 4
0 9 9 9 9 9 9 9 9 9
9 0 9 9 9 9 9 9 9 9
9 9 0 9 9 9 9 9 9 9
9 9 9 0 9 9 9 9 9 9
9 9 9 9 0 9 9 9 9 2
9 9 9 9 9 0 9 9 9 9
9 9 9 9 9 9 0 9 9 9
9 9 9 9 9 9 9 0 9 9
9 9 9 9 2 9 9 9 0 9
9 2 9 9 9 9 9 9 9 0
-1 -1 -1 -1
8 1 1 8

Sample Output 1

12

To turn a single $8$ into $1$, it is optimal to first turn $8$ into $4$, then turn $4$ into $9$, and finally turn $9$ into $1$, costing $6$ MP.

The wall contains two $8$s, so the minimum total MP required is $6×2=12$.


Sample Input 2

5 5
0 999 999 999 999 999 999 999 999 999
999 0 999 999 999 999 999 999 999 999
999 999 0 999 999 999 999 999 999 999
999 999 999 0 999 999 999 999 999 999
999 999 999 999 0 999 999 999 999 999
999 999 999 999 999 0 999 999 999 999
999 999 999 999 999 999 0 999 999 999
999 999 999 999 999 999 999 0 999 999
999 999 999 999 999 999 999 999 0 999
999 999 999 999 999 999 999 999 999 0
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

Sample Output 2

0

Note that she may not need to change any digit.


Sample Input 3

3 5
0 4 3 6 2 7 2 5 3 3
4 0 5 3 7 5 3 7 2 7
5 7 0 7 2 9 3 2 9 1
3 6 2 0 2 4 6 4 2 3
3 5 7 4 0 6 9 7 6 7
9 8 5 2 2 0 4 7 6 5
5 4 6 3 2 3 0 5 4 3
3 6 2 3 4 2 4 0 8 9
4 6 5 4 3 5 3 2 0 8
2 1 3 4 5 7 8 6 4 0
3 5 2 6 1
2 5 3 2 1
6 9 2 5 6

Sample Output 3

47

Input

题意翻译

## 【题目大意】 你面前有一堵墙,墙上有数字,你需要将墙上的数字都变成 ```1``` 。 现在给出一个 $W\times H$ 的矩阵 $A$ 表示墙上数字的情况。 其中若 $A_{i,j}=-1$ ,则表示位置 $(i,j)$ 上没有数字,否则 $A_{i,j}$ 的值表示墙上 $(i,j)$ 位置的数字。 当然,你还有一张 $10\times 10$ 的表 $C$,其中 $C_{i,j}$ 表示把数字 $i$ 转化成数字 $j$ 所需要的花费。 求花费的最小值。 ## 【输入格式】 先输入两个数字 $H$ , $W$ 。 接下来输入表 $C$。 最后输入矩阵 $A$。 ## 【输出格式】 一行,代表答案。 ## 【数据范围】 $1\le H,W\le200$ $1\le C_{i,j}\le 10^3 (i\neq j)$ $C_{i,j}=0(i=j)$ $-1\le A_{i,j}\le 9$ 所有数据保证在 ```int``` 范围以内。

加入题单

算法标签: