1945: 最佳挑水

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:4 解决:3

题目描述

    y住在农村,离他的家不远有一口井,传说是小y的祖先开掘的。虽然小y的村子里通了自来水,但由于这口井的井水质量非常好,因此小y家仍然喝这口井里的水。小y非常喜欢这口井,所以他经常去挑水。

    y的家里有 nn 是偶数)只桶,这些桶虽然大小相等,但是由于很多都有些破损,所以认为它们是不同的。小y经常挑一根扁担(当然一定是带两只空桶)去井边挑水。小y每次去井旁都会把桶中的水装到极限(假设水量无穷,且小y都能够挑得动)。设小y挑得是ij 两只桶,则挑水一趟需要走time[i,j]分钟。小y想要在最少的时间内用自己的力量把家里所有的空桶装满。小y觉得这是个难题,于是来找你帮忙编程找出一种最佳挑水方案。

输入

    输入数据的第一行有一个数字n4<=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