输入数据包含多行。
第一行包含一个整数N(2 < N ≤ 16),代表伟大航路上一共有N个岛屿(包含起点的罗格镇和终点的拉夫德鲁)。其中,起点的编号为1,终点的编号为N。
之后的N行每一行包含N个整数,其中,第i(1 ≤ i ≤ N)行的第j(1 ≤ j ≤ N)个整数代表从第i个岛屿出发到第j个岛屿需要的时间t(0 < t < 10000)。第i行第i个整数为0。
输出为一个整数,
代表路飞一行从起点遍历所有中间岛屿(不重复)之后到达终点所需要的最少的时间。
4
0 10 20 999
5 0 90 30
99 50 0 10
999 1 2 0
100
提示: 对于样例输入1:路飞选择从起点岛屿1出发,依次经过岛屿3,岛屿2,最后到达终点岛屿4。花费时间为20+50+30=100。 对于样例输入2:可能的路径及总时间为: 1,2,3,4,5: 18+45+96+52=211 1,2,4,3,5: 18+78+29+12=137 1,3,2,4,5: 13+38+78+52=181 1,3,4,2,5: 13+96+19+43=171 1,4,2,3,5: 98+19+45+12=174 1,4,3,2,5: 98+29+38+43=208 所以最短的时间花费为137 单纯的枚举在N=16时需要14!次运算,一定会超时。