#P2288. Islands and Bridges
Islands and Bridges
题目描述
给定一个由岛屿和连接岛屿的桥梁组成的地图,哈密顿路径是指沿着桥梁访问每个岛屿恰好一次的路径。地图中每个岛屿都有一个正整数值。我们称一条哈密顿路径为最佳三角形哈密顿路径,当且仅当它能最大化以下描述的值:
假设存在个岛屿,哈密顿路径的价值由三部分组成:
- 路径中每个岛屿的价值之和,即,其中为岛屿的价值。
- 对于路径中的每条边,加上的乘积。
- 当路径中连续三个岛屿在地图中构成三角形(即和之间有桥梁)时,加上的乘积。
你需要找到价值最大的最佳三角形哈密顿路径,并统计其数量。注意,路径的逆序视为同一条路径。若不存在哈密顿路径,输出`0 0'。
输入格式
- 第一行包含一个整数(),表示测试用例数量。
- 每个测试用例以两个整数和开头,分别表示岛屿数和桥梁数。
- 接下来一行包含个正整数,第个数为岛屿的价值()。
- 后续行每行包含两个整数和,表示岛屿和之间有双向桥梁。岛屿编号从1到,且。
输出格式
- 对每个测试用例,输出一行两个整数,用空格分隔。第一个数是最佳三角形哈密顿路径的最大价值,第二个数是该价值的路径数量。若无哈密顿路径,输出'0 0'。
输入样例 1
2
3 3
2 2 2
1 2
2 3
3 1
4 6
1 2 3 4
1 2
1 3
1 4
2 3
2 4
3 4
输出样例 1
22 3
69 1
来源
上海2004年相关问题