Sitting in Line
Posted 新生代黑马
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sitting in Line相关的知识,希望对你有一定的参考价值。
Problem Description
度度熊是他同时代中最伟大的数学家,一切数字都要听命于他。现在,又到了度度熊和他的数字仆人们玩排排坐游戏的时候了。游戏的规则十分简单,参与游戏的N个整数将会做成一排,他们将通过不断交换自己的位置,最终达到所有相邻两数乘积的和最大的目的,参与游戏的数字有整数也有负数。度度熊为了在他的数字仆人面前展现他的权威,他规定某些数字只能在坐固定的位置上,没有被度度熊限制的数字则可以自由地交换位置。
Input
第一行一个整数T,表示T组数据。 每组测试数据将以如下格式从标准输入读入:
N
a1 p1
a?2?? p?2??
:
a?n?? Pn
第一行,整数N(1 ≤ N ≤ 16),代表参与游戏的整数的个数。
从第二行到第(N+1) 行,每行两个整数,ai???(−10000 ≤ a?i?? ≤ 10000)、p?i??(p?i?? = −1 或 0 ≤ p?i?? < N),以空格分割。
a?i??代表参与游戏的数字的值,p?i??代表度度熊为该数字指定的位置,如果pi?? ?= −1,代表该数字的位置不被限制。度度熊保证不会为两个数字指定相同的位置。
Output
第一行输出:"Case #i:"。ii代表第ii组测试数据。
第二行输出数字重新排列后最大的所有相邻两数乘积的和,即max{a?1??⋅a?2??+a?2??⋅a?3??+......+a?N−1??⋅a?N??}。
Sample Input
2 6 -1 0 2 1 -3 2 4 3 -5 4 6 5 5 40 -1 50 -1 30 -1 20 -1 10 -1
Sample Output
Case #1: -70 Case #2: 4600
以上是关于Sitting in Line的主要内容,如果未能解决你的问题,请参考以下文章
HDU 5691 ——Sitting in Line——————状压动规