zoukankan      html  css  js  c++  java
  • poj 1258 Agri-Net 解题报告

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

    题目意思:给出 n 个 farm,每个farm 之间通过一定数量的fiber 相连,问使得所有farm 直接或间接连通的 最少 fiber 数是多少。

         赤裸裸的最小生成树,用prim做的。

         有个地方写错,wa 了 几次。

        

     1 #include <iostream>
     2 #include <cstdio>
     3 using namespace std;
     4 
     5 const int farm_num = 10000 + 10;
     6 const int INF = 1e9;
     7 int farm[farm_num][farm_num];
     8 int dist[farm_num], vis[farm_num];
     9 int ans, N;
    10 
    11 void prim()
    12 {
    13     int k;
    14     for (int i = 1; i <= N; i++)
    15     {
    16         vis[i] = 0;
    17         dist[i] = INF;
    18     }
    19     // 假设从编号为 1 的farm 出发
    20     dist[1] = 0, ans = 0;
    21     for (int i = 1; i <= N; i++)
    22     {
    23         int tmp = INF;
    24         for (int j = 1; j <= N; j++)
    25         {
    26             if (!vis[j] && dist[j] < tmp)
    27             {
    28                 tmp = dist[j];
    29                 k = j;
    30             }
    31         }
    32         vis[k] = 1;
    33         ans += tmp;
    34         for (int j = 1; j <= N; j++)
    35         {
    36             if (!vis[j] && dist[j] > farm[k][j])  // 一开始将dist[j] > farm[k][j]直接写成farm[k][j]了= =
    37                 dist[j] = farm[k][j];
    38         }
    39     }
    40 }
    41 
    42 int main()
    43 {
    44     while (scanf("%d", &N) != EOF)
    45     {
    46         for (int i = 1; i <= N; i++)
    47         {
    48             for (int j = 1; j <= N; j++)
    49                 scanf("%d", &farm[i][j]);
    50         }
    51         prim();
    52         printf("%d
    ", ans);
    53     }
    54     return 0;
    55 }

        

  • 相关阅读:
    Shell 编程基础之 Until 练习
    Shell 编程基础之 While 练习
    Shell 编程基础之 For 练习
    Shell 编程基础之 If 练习
    Kafka 0.8 Controller设计机制和状态变化
    5 Kafka 应用问题经验积累
    3 Kafka两个版本在Zookeeper的元数据存储
    Broker流量均衡 prefer reassign
    Kafka 0.8 Consumer Rebalance
    2 Kafka Broker
  • 原文地址:https://www.cnblogs.com/windysai/p/3915736.html
Copyright © 2011-2022 走看看