[SMOJ1775]岛和桥

题目描述

现在我们知道了一些岛屿,预计连接这些岛屿的桥,一个哈密尔顿路径,就是一条沿着桥梁的路径,经过每个岛屿刚好一次。在我们的地图上,每个岛屿还都有一个相关联的正整数值。如果一条哈密尔顿路径能够使得下面描述的值最大,我们称之为最好的三角哈密尔顿路径。

假设有 n 个岛屿。哈密尔顿路径 C1C2Cn 的值被计算为 3 部分之和。假设 Vi 是岛 Ci 的价值。第 1 部分,我们把哈密尔顿路径中每个岛屿的 Vi 值加起来。第 2 部分,对于路径中的每条边 CiCi+1 ,我们加上乘积 Vi×Vi+1 。第 3 部分,当路径中的三个连续的岛屿 Ci Ci+1 Ci+2 在地图中形成一个三角形时,即 Ci Ci+2 之间有桥,我们加上乘积 Vi×Vi+1×Vi+2

但是可能有有不止一个最好的三角形哈密尔顿路径; 你的第二个任务是找到这样的路径的数量。

输入格式 1775.in

输入文件的第一行以 q q20 )开头,即测试数据组数。每个测试用例以两个整数 n m 开始,分别是岛数和桥数。下一行包含 n 个正整数,第 i 个数字是岛 i Vi 值,每个值不超过 100。以下 m 行的格式为 xy ,表示岛 x 和岛 y 之间有一个(双向)桥。岛从 1 到

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值