题目描述
奶牛庄严和奶牛白金最近收到了田所浩二寄来的变形银刚,但为了运输的方便,变形银刚被拆成了 $n$ 部分零件。于是他们俩开始讨论要怎么把所有零件拼在一起。在牛牛们的想法里,如果他们想把两零件拼合,则需要每头牛分别拿一个零件,再用力闭眼大叫并相互撞击来暴力拼合(?)。
由于各种各样的奇怪原因,总之每次拼合零件的麻烦值都是互不相同的。如果奶牛庄严拿着零件 $a$,奶牛白金拿着零件 $b$,则拼合这两个零件所产生的麻烦值即 $m_{a,b}$。由于奶牛庄严对变形银刚更加了解,所以在每次拼合零件 $a$ 和零件 $b$ 并产生麻烦值 $m_{a,b}$ 后,我们都假定零件 $b$ 被拼到了零件 $a$ 上,即形成的拼合体将继续编号为 $a$。
当然,有可能奶牛白金更喜欢零件 $b$,奶牛庄严更喜欢零件 $a$,众所周知喜爱程度会影响拼合的麻烦值,因此 $m_{a,b}$ 与 $m_{b,a}$ 的值可能会不同。
问拼合所有零件并形成完整的一个变形银刚所产生的麻烦值总和的最小值是多少?
输入格式
第一行包含一个正整数 $n\ (2\le n\le 19)$,表示零件总数。
其后 $n$ 行,每行包含 $n$ 个正整数,第 $i$ 行第 $j$ 个正整数为 $m_{i,j}\ (1\le m_{i,j}\le 9810,\ i\ne j)$,表示将零件 $j$ 拼到零件 $i$ 上产生的麻烦值。
数据保证 $\forall_{i\in[1,n]}\ m_{i,i}=0$。
样例输入 #1
3
0 4 1
1 0 4
1 5 0
提示
可以先将零件 $3$ 拼到零件 $1$ 里,产生麻烦值 $m_{1,3}=1$;
再将零件 $1$ 拼到零件 $2$ 里,产生麻烦值 $m_{2,1}=1$;
总麻烦值为 $2$,为最优方案。