#include #include #include #include using namespace std; #define MAXN 33 #define inf 1<<30 int map[MAXN][MAXN]; int n,MIN,k; int num[MAXN]; bool mark[MAXN]; void dfs(int start,int count,int dist){ if(count==k){ MIN=min(dist,MIN); return ; } for(int i=1;i<=k;i++){ if(!mark[i]){ mark[i]=true; dfs(num[i],count+1,dist+map[start][num[i]]); mark[i]=false; } } } int main(){ int _case; while(~scanf("%d",&n)&&n){ for(int i=0;i