#P5593. 寻宝之路

寻宝之路

题目描述

农夫约翰正驾驶一条小艇在牛勒比海上航行.

海上有N(1{N(1≤}N{N≤}100){100)}个岛屿,用1{1}N{N}编号.约翰从1{1}号小岛出发,最后到达N{N}号小岛.一张藏宝图上说,如果他的路 程上经过的小岛依次出现了Ai{Ai,}A2{A2,}…,AM(2{AM(2≤}M{M≤}10000){10000)}这样的序列(不一定相邻),那他最终就能找到古老的宝藏.

但是,由于牛勒比海有海盗出没.约翰知道任意两个岛屿之间的航线上海盗出没的概率,他用一个危险指数Dij(0{Dij(0≤}Dij{Dij≤}100000){100000)}来描述.他希望他的寻宝活动经过的航线危险指数之和最小.

那么,在找到宝藏的前提下,这个最小的危险指数是多少呢?

输入格式

1{1}行输入N{N}M{M,}之后M{M}行一行一个整数表示A{A}序列,

之后输入一个N×N{N\times N}的方阵,表示两两岛屿之间航线的危险指数.

数据保证Dij=Dji{Dij=Dji,}Dii=0{Dii=0}

输出格式

最小的危险指数和.

样例

输入样例

3 4
1
2
1
3
0 5 1
5 0 2
1 2 0

输出样例

7

提示

输入详细信息:

3{3}个岛屿,藏宝图要求农民约翰按顺序访问4{4}个岛屿:岛1{1}、岛2{2}、岛1{1,}最后是岛3{3}。给出了路径的危险等级 :路径1{(1,}2{2)}(2,3){(2, 3)}; 3{(3,}1{1)}和反向路径的危险等级分别为5{5}2{2}1{1}

输出详细信息:

他可以通过旅行获得总危险度为7{7}的宝藏岛1{1}3{3}2{2}3{3}1{1}3{3}的顺序。cow{cow}地图的要求1{(1}2{2}1{1}3{3)}对此路线满意。我们避开这条路岛屿1{1}2{2}之间,因为其危险等级较高。