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(≤ ≤ 16),代表参与游戏的整数的个数。

  从第二行到第(N+1) 行,每行两个整数,ai???(1000≤ a?i?? ≤ 10000)、p?i??(p?i?? 1 或 ≤ p?i?? N),以空格分割。

  a?i??代表参与游戏的数字的值,p?i??代表度度熊为该数字指定的位置,如果pi?? ?1,代表该数字的位置不被限制。度度熊保证不会为两个数字指定相同的位置。

Output

  第一行输出:"Case #i:"。ii代表第ii组测试数据。

  第二行输出数字重新排列后最大的所有相邻两数乘积的和,即max{a?1??a?2??+a?2??a?3??+......+a?N1??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的主要内容,如果未能解决你的问题,请参考以下文章

Sitting in Line

HDU 5691 ——Sitting in Line——————状压动规

hdu 5691 Sitting in Line (状压dp)

HDU 5691 Sitting in Line

HDU 5691 Sitting in Line 状压dp

HDU5691 Sitting in Line状压DP