#1450. 售货员问题

内存限制:512 MiB 时间限制:1500 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: qc12kwkl

题目描述

某乡有 nn 个村庄,有一个售货员,他要到各个村庄去售货。

任意两个村庄 iji,j,村庄 iijj 的路程 sijs_{ij} 是已知的 (不保证 sij=sjis_{ij}=s_{ji} )。

为了提高效率,他从商店出发,经过所有村庄一次且仅一次,然后返回商店所在的村,商店所在的村庄为 1。

现在他想知道他最少要走多少路。

输入格式

第1行,输入村庄数nn

第2到(n+1)(n+1)行,每行n个数。第(i+1)(i+1)行的第jj个数为村庄 ii 到村庄 jj 的路程 sijs_{ij}sii=0s_{ii}=0

输出格式

输出一个整数,表示最短的路程。

样例

输入样例 #1

4
0 1 4 5
1 0 8 6
1 10 0 10
4 8 3 0

输出样例 #1

11

数据范围与提示

2n152 \le n \le 15

1sij1001 \le s_{ij} \le 100且保证随机

样例解释:

售货员走的路径为12431 1 \rightarrow 2 \rightarrow 4 \rightarrow 3 \rightarrow 1 路程为11