#include<iostream> #include<Cstring> using namespace std; int main(){ int n; while(cin>>n){ int a[n+5][n+5],f[n+2],ans=0; memset(f,0,sizeof(f)); for(int i=1;i<=n;++i) for(int m=1;m<=n;++m) cin>>a[i][m]; for(int i=1;i<n;++i){ int maxn=0x3f3f3f,x1,x2; for(int m=1;m<=n;++m){ for(int j=m+1;j<=n;++j){ if(maxn>a[m][j]&&(f[j]==0||f[m]==0)){ maxn=a[m][j]; x1=m;x2=j; } } } f[x1]=1; f[x2]=1; ans+=maxn; } cout<<ans<<endl; } } |
Double click to view unformatted code.