(条件)
頂点数 n のグラフ
頂点a, b 間の距離を求める
int c[10][10];
int H, W, A, res;
int main()
{
cin >> H >> W; //縦、横のマス
rep(i, 0, 10) rep(j, 0, 10) cin >> c[i][j]; // i から j の変換に必要な魔力
//ワーシャルフロイド法
rep(k, 0, 10) rep(i, 0, 10) rep(j, 0, 10)
if (c[i][j] > c[i][k] + c[k][j]) c[i][j] = c[i][k] + c[k][j];
rep(i, 0, H) rep(j, 0, W)
{
cin >> A;
if (A >= 0) res += c[A][1]; // 数字A から 1 に変える魔力の和
}
cout << res << endl;
}