1945: 最佳挑水
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:4
解决:3
题目描述
小y住在农村,离他的家不远有一口井,传说是小y的祖先开掘的。虽然小y的村子里通了自来水,但由于这口井的井水质量非常好,因此小y家仍然喝这口井里的水。小y非常喜欢这口井,所以他经常去挑水。
小y的家里有 n(n 是偶数)只桶,这些桶虽然大小相等,但是由于很多都有些破损,所以认为它们是不同的。小y经常挑一根扁担(当然一定是带两只空桶)去井边挑水。小y每次去井旁都会把桶中的水装到极限(假设水量无穷,且小y都能够挑得动)。设小y挑得是i、j 两只桶,则挑水一趟需要走time[i,j]分钟。小y想要在最少的时间内用自己的力量把家里所有的空桶装满。小y觉得这是个难题,于是来找你帮忙编程找出一种最佳挑水方案。
输入
输入数据的第一行有一个数字n,4<=n<=18。
接下来 n 行,每行n 个数字,代表了time 矩阵。
time 矩阵中每一个数都是小于等于32768正整数,且time[i,i]是没有用的。
注意:time[i,j]=time[j,i]。
输出
输出数据仅一行,就是最佳挑水方案的最少时间。
样例输入 复制
4
0 100 5 100
100 0 100 11
5 100 0 100
100 11 100 0
样例输出 复制
16