zoukankan      html  css  js  c++  java
  • Agri-Net(prim)

    http://poj.org/problem?id=1258

     1 #include<stdio.h>
     2 #include<string.h>
     3 const int maxn=110;
     4 const int INF = 1<<28;
     5 int map[maxn][maxn];
     6 int dis[maxn],vis[maxn];
     7 int n,sum;
     8 void prim()
     9 {
    10     int pos;
    11     for (int i = 1; i <= n; i ++)
    12     {
    13         dis[i] = map[1][i];
    14     }
    15     vis[1] = 1;
    16     for (int i = 1; i <= n-1; i ++)
    17     {
    18         int min = INF;
    19         for (int j = 1; j <= n; j ++)
    20         {
    21             if (!vis[j] && dis[j] < min)
    22             {
    23                 min = dis[j];
    24                 pos = j;
    25             }
    26         }
    27         sum += min;
    28         vis[pos] = 1;
    29         for (int j = 1; j <= n; j ++)
    30         {
    31             if (!vis[j] && dis[j] > map[pos][j])
    32                 dis[j] = map[pos][j];
    33         }
    34     }
    35 }
    36 void init()
    37 {
    38     sum = 0;
    39     for (int i = 0; i <= n; i ++)
    40     {
    41         for (int j = 0; j <= n; j ++)
    42         {
    43             map[i][j] = INF;
    44         }
    45         map[i][i] = 0;
    46         vis[i] = 0;
    47     }
    48 }
    49 int main()
    50 {
    51 
    52     while(~scanf("%d",&n))
    53     {
    54         init();
    55         for (int i = 1; i <= n; i ++)
    56         {
    57             for (int j = 1; j <= n; j ++)
    58             {
    59                 scanf("%d",&map[i][j]);
    60             }
    61         }
    62         prim();
    63         printf("%d
    ",sum);
    64     }
    65     return 0;
    66 }
    View Code
  • 相关阅读:
    Java 高级文件处理
    drf10
    drf9
    drf8
    drf7
    drf6
    drf5
    drf4
    drf3
    drf2
  • 原文地址:https://www.cnblogs.com/lahblogs/p/3245219.html
Copyright © 2011-2022 走看看