记录编号 |
598579 |
评测结果 |
AAAAA |
题目名称 |
最短Hamilton路径 |
最终得分 |
100 |
用户昵称 |
TeaWine |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
1.656 s |
提交时间 |
2025-01-25 17:41:09 |
内存使用 |
83.32 MiB |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,mp[86][86],ans,f[1<<20][20];
void wok(int l){
memset(f,0x3f,sizeof(f));
f[1][0]=0;
for(int i = 1; i<1<<n; i++){
for(int j = 0; j<n; j++){
if(i>>j&1){
for(int k = 0; k<n; k++){
if((i^1<<j)>>k&1){
f[i][j]=min(f[i][j],f[i^1<<j][k]+mp[k][j]);
}
}
}
}
}
}
int main () {
freopen("ham.in","r",stdin);
freopen("ham.out","w",stdout);
cin>>n;
for(int i = 0; i<n; i++)
for(int j = 0; j<n; j++)
cin>>mp[i][j];
wok(0);
cout<<f[(1<<n)-1][n-1];
return 0;
}