zoukankan      html  css  js  c++  java
  • 【POJ】[1287]Networking

    这里写图片描述

    做完难的……
    再看这题就感觉特别水……
    注意的就是有重复边
    所以需要判断一下

    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    int main() {
        int dis[55];
        int e[55][55];
        bool flag[55];
        int N,inf=999999;
        while(scanf("%d",&N),N) {
            int T;
            scanf("%d",&T);
            for(int i=1; i<=N; i++) {
                dis[i]=inf;
                flag[i]=false;
            }
            for(int i=1; i<=N; i++) {
                for(int j=1; j<=N; j++) {
                    e[i][j]=inf;
                }
            }
            while(T--) {
                int n,m,t;
                scanf("%d %d %d",&n,&m,&t);
                if(t<e[n][m]) {
                    e[n][m]=t;
                    e[m][n]=t;
                }
            }
            int sum=0;
            dis[1]=0;
            while(true) {
                int v=-1;
                for(int u=1; u<=N; u++) {
                    if(!flag[u]&&(v==-1||dis[u]<dis[v]))
                        v=u;
                }
                if(v==-1)
                    break;
                flag[v]=true;
                sum+=dis[v];
                for(int u=1; u<=N; u++) {
                    dis[u]=min(dis[u],e[v][u]);
                }
            }
            printf("%d
    ",sum);
        }
        return 0;
    }
    

    题目地址:【POJ】[1287]Networking

  • 相关阅读:
    学习第57天
    学习第56天
    学习第55天
    学习第54天
    学习第53天
    学习第52天
    学习第51天
    学习第50天
    MVVM模式
    css盒模型
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569769.html
Copyright © 2011-2022 走看看