2013年12月26日 星期四

[USACO] 3-1-1 Agri-Net


/*
ID: 551100k1
LANG: C++
TASK: agrinet
*/
#include<stdio.h>
#include<string.h>
int ma[105][105];
int len[105],is[105]={0};
int main(){
    freopen("agrinet.in","r",stdin);
    freopen("agrinet.out","w",stdout);
    int n,x,y,i,j,ans=0;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        for(j=0;j<n;j++)
            scanf("%d",&ma[i][j]);
        len[i]=99999999;
    }
    len[0]=0;
    for(i=0;i<n;i++){
        x=99999999;
        for(j=0;j<n;j++)
            if(!is[j] && len[j]<x) x=len[j],y=j;
        ans+=len[y],is[y]=1;
        for(j=0;j<n;j++)
            if(ma[y][j] && ma[y][j]<len[j])
                len[j]=ma[y][j];
    }
    printf("%d\n",ans);
}

沒有留言:

張貼留言