View Code of Problem 379

#include<iostream>
#include<Cstring>
using namespace std;
int main(){
	int n;
	while(cin>>n){
		int a[n+2][n+2],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,x,flag=1;
			for(int m=1;m<=n;++m){
				for(int j=m+1;j<=n;++j){
					if(maxn>a[m][j]&&f[j]==0){
						maxn=a[m][j];
						if(flag){
							flag=0;
							f[i]=1;
						}
						x=j;
					}
				}
			}
			f[x]=1;
			ans+=maxn;
		}
		cout<<ans<<endl;
	}
}

Double click to view unformatted code.


Back to problem 379