题号:NC21736
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld
题目描述
有一张n个点的无向图,标号为0到n-1,图中的每条边有两个权值,现在让你求出从0到1的最短路,最短路的定义是W1*W2,W1为路径上第一种权值的和,W2为路径上第二种权值的和,如果没有最短路,输出-1
输入描述:
第一行输入一个整数n (2 ≤ n ≤ 20)
接下来n行每行n个字符,第i行的第j个字符表示weight1[i][j]
再接下来n行每行n个字符,第i行的第j个字符表示weight2[i][j]
所有的字符要么是数字要么是'.'
第i行的第j个字符是数字表示ij两个点联通,且权值为这个数字
否则表示不联通
输出描述:
输出一个整数
示例1
输入
复制
4
..14
..94
19..
44..
..94
..14
91..
44..
示例2
输入
复制
4
..14
..14
11..
44..
..94
..94
99..
44..
示例3
输入
复制
6
.....9
..9...
.9.9..
..9.9.
...9.9
9...9.
.....9
..9...
.9.9..
..9.9.
...9.9
9...9.
备注:
子任务1:n <= 5
子任务2:n <= 10
子任务3:无限制