zoukankan      html  css  js  c++  java
  • C语言最小生成树prim算法(USACO3.1)

    /*
    ID: hk945801
    LANG: C++
    TASK: agrinet
    */
    #include<iostream>
    #include<cstdio>
    using namespace std;
    int a[110][110],d[110],p[110];  
    int main(){  
        int i,j,k,m,n,ans;
        //freopen("agrinet.in","r",stdin);
        //freopen("agrinet.out","w",stdout);
    	cin>>n; 
        ans=0;  
        for(i=1;i<=n;i++)  
            for(j=1;j<=n;j++)  
                a[i][j]=0;    
        for(i=1;i<=n;i++){  
            d[i]=1000000000;  
            p[i]=0;  
        }  
        for(i=1;i<=n;i++)  
            for(j=1;j<=n;j++)  
                scanf("%d",&a[i][j]);  
        d[1]=0;  
        int min;  
        for(i=1;i<=n;i++){  
            min=1000000000;  
            for(j=1;j<=n;j++)  
                if(!p[j] && d[j]<min){  
                    k=j;  
                    min=d[j];  
                }  
            p[k]=1;  
            ans+=d[k];  
            for(j=1;j<=n;j++)  
                if(!p[j] && d[j]>a[j][k])  
                    d[j]=a[j][k];  
        }  
        cout<<ans<<endl;   
        return 0;  
    }  

  • 相关阅读:
    基本样式
    表单基础知识
    边框内圆角
    灵活的背景定位
    多重边框
    半透明边框
    变量关系
    闭包2——闭包与变量
    闭包
    基本包装类型
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7184064.html
Copyright © 2011-2022 走看看