5 条题解

  • 0
    @ 2025-2-10 10:58:14
    
    

    #include<bits/stdc++.h> using namespace std; // typedef long long ll; const int N=21; int n; int d[N][N]; bool st[N]; int ans=0x3f3f3f3f; void dfs(int u,int cnt,int cost) { if(cost>ans) return; if(cntn&&un) { ans=min(ans,cost); return; } for(int i=1;i<=n;i++) { if(i==u) continue; if(st[i]) continue; if(d[u][i]>ans) continue; st[i]=true; dfs(i,cnt+1,cost+d[u][i]); st[i]=false;; } } int main() { cin>>n; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cin>>d[i][j]; } } st[1]=true; dfs(1,1,0); cout<<ans; return 0; }

    
    

    信息

    ID
    80
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    206
    已通过
    42
    上传者