【最短路】【USACO08OPEN】Clear And Present Danger

农夫约翰根据藏宝图在牛勒比海上寻找古老宝藏,面临不同岛屿间海盗出没概率导致的路线危险指数问题。他需经过特定岛屿序列,目标是最小化危险指数之和。通过Floyd算法预处理找出两岛屿间最短路径,然后结合必经点计算总危险指数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description

农夫约翰正驾驶一条小艇在牛勒比海上航行.海上有N(1≤N≤100)个岛屿,用1到N编号.约翰从1号小岛出发,最
后到达N号小岛.一张藏宝图上说,如果他的路程上经过的小岛依次出现了Ai,A2,…,AM(2≤M≤10000)这样的序
列(不一定相邻),那他最终就能找到古老的宝藏.  但是,由于牛勒比海有海盗出没.约翰知道任意两个岛屿之
间的航线上海盗出没的概率,他用一个危险指数Dij(0≤Dij≤100000)来描述.他希望他的寻宝活动经过的航线危
险指数之和最小.那么,在找到宝藏的前提下,这个最小的危险指数是多少呢?

Input

第1行输入N和M,之后M行一行一个整数表示A序列,
之后输入一个NxN的方阵,表示两两岛屿之间航线的危险指数.数据保证Dij=Dji,Dii=0.

Output

最小的危险指数和.

Sample Input

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

INPUT DETAILS:
There are 3 islands and the treasure map requires Farmer John to
visit a sequence of 4 islands in order: island 1, island 2, island
1 again, and finally island 3. The danger ratings of the paths are
given: the paths (1, 2); (2, 3); (3, 1) and the reverse paths have
danger ratings of 5, 2, and 1, respectively.

Sample Output

7
OUTPUT DETAILS:
He can get the treasure with a total 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值