UVA1703 Metal Processing Plant

题目描述

尤利娅在叶卡捷琳堡的一家金属加工厂工作。该工厂在乌拉尔山脉提取矿石中的铜、铂和金。工厂每月收到 $n$ 批未经处理的矿石。尤利娅需要对这些货物分割为两组。然后它们会分别被送到工厂的两个冶矿塔。 首先,尤利娅对每对货物 $i,j(1\leq i,j\leq n)$,给出一个 $d(i,j)$,对于子集 $S$,$D(S)$ 定义为 $d(i,j)_{max}(i,j\in S)$。 然后,尤利娅将货物分成 $A$ 和 $B$ 两部分,使 $D(A)+D(B)$ 最小。请你帮助她找到划分方法。

输入格式

输入包括多组数据。 对于每组测试数据:第一行包含一个整数 $n(1\leq n\leq 200)$,表示发货数量。接下来 $n-1$ 行每行有 $n-i$ 个数,第 $j$ 个数表示 $d(i,i+j)$,且 $d(j,i)=d(i,j)$,$d(i,i)=0$。

输出格式

对于每组测试数据,输出 $D(A)+D(B)$ 的最小值。 **输入样例:** ``` 5 4 5 0 2 1 3 7 2 0 4 7 1 10 5 5 5 5 5 10 5 5 5 100 100 5 5 10 5 5 98 99 3 ``` **输出样例:** ``` 4 15 ```