给定一个简单的无向图,其中包含 N 个顶点,编号为 1 到 N,每个顶点包含一个来自 {1,2,..7} 的数字。从带有空字符串 S 的顶点 1 开始,我们穿过一些顶点(没有限制)到达顶点 N。对于途中的每个顶点,我们将相应的数字添加到字符串 S 的右侧。最后我们得到S 作为十进制整数。要求你找到一个满足 S 可以被它的所有数字整除的方式,并且 S 的数字之和必须尽可能小。
输入
有几个测试用例(最多十五个),每个组成如下:
The first line contains a positive integer N (N ≤ 100).
The second line contains N digits (separated by spaces), the i-th digit is the value of the i-th vertex.
N last lines, each contains N values of {0, 1} (separated by spaces), the j-th value of the i-th line is equal to 1 if there is an edge connecting two vertices (i, j), otherwise 0.
输入以 N = 0 结束。
输出
对于每个测试用例,在一行上输出找到的最小数字总和,如果没有解决方案,则输出 -1。
例子
输入:4
1 2 1 4
0 1 1 1
1 0 0 1
1 0 0 1
1 1 1 0
输出:7
请指导我
可能存在自循环和循环,因此可以访问节点 1 和节点 N 任意次数