zoukankan      html  css  js  c++  java
  • 3362=数据结构实验之图论六:村村通公路

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <string.h>
     4 #define INF 99999999
     5 int map[1000][1000],dis[1000],visited[10000];
     6 int sum;
     7 void prim(int n)
     8 {
     9     int count=1,i,j,k;
    10     while(count<=n)
    11     {
    12         count++;
    13         int min=INF;
    14         for(i=1; i<=n; i++)
    15         {
    16             if(visited[i]==0&&dis[i]<min)
    17             {
    18                 min=dis[i];
    19                 j=i;
    20             }
    21         }
    22         if(min==INF)
    23         {
    24             sum=-1;
    25             return;
    26         }
    27         visited[j]=1;
    28         sum+=dis[j];
    29         for(k=1; k<=n; k++)
    30         {
    31             if(visited[k]==0&&dis[k]>map[j][k])
    32                 dis[k]=map[j][k];
    33         }
    34     }
    35 
    36 }
    37 int main()
    38 {
    39     int n,m;
    40     while(~scanf("%d%d",&n,&m))
    41     {
    42         int i,j;
    43         sum=0;
    44         memset(visited,0,sizeof(visited));
    45         for(i=1; i<=n; i++)
    46         {
    47             for(j=1; j<=n; j++)
    48             {
    49                 if(i==j)
    50                     map[i][j]=0;
    51                 else
    52                     map[i][j]=INF;
    53             }
    54         }
    55         while(m--)
    56         {
    57             int a,b,c;
    58             scanf("%d%d%d",&a,&b,&c);
    59             map[a][b]=map[b][a]=c;
    60         }
    61         for(i=1; i<=n; i++)
    62         {
    63             dis[i]=map[1][i];
    64         }
    65         prim(n);
    66         printf("%d
    ",sum);
    67     }
    68     return 0;
    69 }
  • 相关阅读:
    二维线性表 list实现
    行测题
    邻接表
    链表中插入和删除结点
    linux监控指标和命令
    lr测试结果分析
    python 装饰器 decorator
    并查集 PID331 / 家族
    素数环 dfs+回溯
    catch the cow bfs
  • 原文地址:https://www.cnblogs.com/Angfe/p/11831361.html
Copyright © 2011-2022 走看看