3054 - Haywire
时间限制 : 1 秒
内存限制 : 128 MB
Farmer John有 N 只奶牛(4 \leq N \leq 16,N 是偶数)。
他们建立了一套原生的系统,使得奶牛与他的朋友可以通过由干草保护的线路来进行对话交流。
每一头奶牛在这个牧场中正好有 3 个朋友,并且他们必须把自己安排在一排干草堆中。
一条长 L 的线路要占用刚好 L 堆干草来保护线路。
比如说,如果有两头奶牛分别在草堆 4 与草堆 7 中,并且他们是朋友关系,那么我们就需要用 3 堆干草来建造线路,使他们之间能够联系。
假设每一对作为朋友的奶牛都必须用一条单独的线路来连接,并且我们可以随便地改变奶牛的位置,请计算出我们建造线路所需要的最少的干草堆。
输入
第 1 行:一个整数 N。为了方便,我们给奶牛用 1\sim N 的数字进行编号。
第 2, 3, \cdots, N + 1 行:每一行都有三个在 1\sim N 中的整数。第 i+1 行的数字代表着第 i 头奶牛的三个朋友的编号。显然,如果奶牛 i 是奶牛 j 的三个朋友之一,那么奶牛 j 也是奶牛 i 的三个朋友之一。
输出
一个整数,代表着建造线路需要的干草堆数量的最小值。
样例
输入
6 6 2 5 1 3 4 4 2 6 5 3 2 4 6 1 1 5 3
输出
17
提示
样例解释: 奶牛最好的排列是 6, 5, 1, 4, 2, 3
, 这个时候我们只需要 17 个单位的干草堆。
来源
USCAO