dfs
2025-12-19 16:14:57
发布于:浙江
0阅读
0回复
0点赞
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll dis[78][91],v[78],n,minx=1e9;
ll dfs(ll x,ll y,ll s){
if(s>minx)return 0;
if(y==n&&s+dis[x][1]<minx){
minx=s+dis[x][1];
return 0;
}
for(ll i= 2;i<=n;i++){
if(v[i]==0&&i!=x){
v[i]=1;
dfs(i,y+1,s+dis[x][i]);
v[i]=0;
}
}
return 0;
}
int main(){
cin>>n;
for(ll i=1;i<=n;i++){
for(ll j=1;j<=n;j++){
cin>>dis[i][j];
}
}
dfs(1,1,0);
cout<<minx;
return 0;
}
这里空空如也






有帮助,赞一个