zoukankan      html  css  js  c++  java
  • POJ 2421(prim)

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

    这个题和poj1258是一样的,只要在1258的基础上那么几行代码,就可以A,水。

    题意:还是n连通问题,和1258不同的就是这个还有几条路在之前就已经连通了的,所以不需要再去连。

     1 #include <stdio.h>
     2 #include <string.h>
     3 
     4 
     5 #define inf 100009
     6 
     7 bool mark[1001];
     8 int a[1001][1001],dis[1001],ans,n;
     9 
    10 int prim()
    11 {
    12    for(int i=1;i<=n;i++)
    13     dis[i]=inf;dis[1]=0;
    14     for(int i=1;i<=n;i++){
    15         int tep=inf;int k=0;
    16         for(int j=1;j<=n;j++){
    17             if(mark[j]&&dis[j]<tep)
    18             {
    19                 tep=dis[j];
    20                 k=j;
    21             }
    22         }
    23         if(tep==inf) return 0;
    24         ans+=tep;
    25         mark[k]=false;
    26         for(int j=1;j<=n;j++)
    27             if(mark[j]&&dis[j]>a[k][j])
    28                 dis[j]=a[k][j];
    29        }
    30    return 0;
    31 }
    32 
    33 int main()
    34 {
    35     while(scanf("%d",&n)!=EOF)
    36     {
    37         int x=0,c,b;
    38         memset(mark,true,sizeof(mark));
    39         ans=0;
    40         for(int i=1;i<=n;i++)
    41             for(int j=1;j<=n;j++)
    42                 scanf("%d",&a[i][j]);
    43         scanf("%d",&x);
    44         while(x--)
    45         {
    46             scanf("%d%d",&b,&c);
    47             a[b][c]=0;
    48             a[c][b]=0;
    49         }
    50         prim();
    51         printf("%d
    ",ans);
    52     }
    53 }
  • 相关阅读:
    纯快排
    Quick Sort(快速排序)
    归并排序 ALDS1_5_B:Merge Sort
    单调栈(POJ2559)
    Sequence
    Codeforces Round #503
    度度熊学队列
    Always Online hdu 6350
    Hills And Valleys
    Problem G. Depth-First Search
  • 原文地址:https://www.cnblogs.com/Tree-dream/p/5726457.html
Copyright © 2011-2022 走看看