zoukankan      html  css  js  c++  java
  • poj 1287 Networking

    题目链接http://poj.org/problem?id=1287

    题目分类:最小生成树

    代码:

    //#include<bits/stdc++.h>
    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    
    using namespace std;
    const int V=200;
    #define INF 0x3f3f3f3f
    
    int cost[V][V];
    int mincost[V];
    bool used[V];
    int v;
    
    int prim()
    {
        for(int i=0;i<v;i++)
        {
            mincost[i]=INF;
            used[i]=0;
        }
        mincost[0]=0;
        int res=0;
    
        while(1)
        {
            int vv=-1;
            for(int u=0;u<v;u++)
            {
                if(!used[u]&&(vv==-1||mincost[u]<mincost[vv]))
                    vv=u;
            }
    
            if(vv==-1) break;
            used[vv]=1;
            res+=mincost[vv];
            for(int u=0;u<v;u++)
                mincost[u]=min(mincost[u],cost[vv][u]);
        }
        return res;
    }
    
    int main()
    {
        int a,b,m,c;
        while(scanf("%d",&v)&&v)
        {
            for(int i=0;i<=v;i++)
            {
                for(int j=0;j<=v;j++)
                {
                    cost[i][j]=INF;
                }
                cost[i][i]=0;
            }
            scanf("%d",&m);
            while(m--)
            {
                scanf("%d %d %d",&a,&b,&c);
                cost[a-1][b-1]=min(c,cost[a-1][b-1]);
                cost[b-1][a-1]=min(c,cost[b-1][a-1]);
            }
            int ans=prim();
            printf("%d
    ",ans);
        }
    
        return 0;
    }
    anytime you feel the pain.hey,refrain.don't carry the world upon your shoulders
  • 相关阅读:
    mysql--主从复制
    Linux--部署Vue项目
    Linux--安装node.js
    Linux--防火墙和vim
    go.js
    服务端和客户端通信的三种方式
    mysql-排序过程
    数据分析-Numpy
    shell
    Linux-crontab
  • 原文地址:https://www.cnblogs.com/gaoss/p/4937896.html
Copyright © 2011-2022 走看看