• HDU1232


    https://vjudge.net/problem/HDU-1232

    某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?

    Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出一对正整数,分别是该条道路直接连通的两个城镇的编号。为简单起见,城镇从1到N编号。
    注意:两个城市之间可以有多条道路相通,也就是说
    3 3
    1 2
    1 2
    2 1
    这种输入也是合法的
    当N为0时,输入结束,该用例不被处理。
    Output对每个测试用例,在1行里输出最少还需要建设的道路数目。
    Sample Input

    4 2
    1 3
    4 3
    3 3
    1 2
    1 3
    2 3
    5 2
    1 2
    3 5
    999 0
    0

    Sample Output

    1
    0
    2
    998
    
    
            
     
    Huge input, scanf is recommended.
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int parent[1010],ans;
     4 int i,j,t,m,n,a,b,f1,f2;
     5 int Find(int x)
     6 {
     7     if(parent[x]!=x)
     8         x=Find(parent[x]);
     9     return x;
    10 }
    11 /*
    12 void union_(int x,int y)
    13 {
    14     if((x=Find(x)==(y=Find(y))))
    15         return;
    16     if(parent[x]<parent[y])
    17     {
    18         parent[x]+=parent[y];
    19         parent[y]=x;
    20     }
    21     else
    22     {
    23         parent[y]+=parent[x];
    24         parent[x]=y;
    25     }
    26 }
    27 */
    28 int main()
    29 {
    30    while(~scanf("%d%d",&n,&m)&&n)
    31    {
    32        ans=0;
    33        for(i=1;i<=n;i++)
    34         parent[i]=i;
    35        for(i=1;i<=m;i++)
    36        {
    37         cin>>a>>b;
    38        f1=Find(a);
    39        f2=Find(b);
    40        if(f1!=f2)
    41            parent[f1]=f2;
    42        }
    43        for(i=1;i<=n;i++)
    44            if(parent[i]==i)
    45             ans++;
    46        cout<<ans-1<<endl;;
    47    }
    48    return 0;
    49 }

    思路:

    查找连通分量的个数。



  • 相关阅读:
    hadoop的live node为0
    python其中一个子线程,则退出全部线程,再退出进程
    hbase安装
    hive安装
    手游设备ID
    C++对C的改进(1)
    C++析构函数
    C++构造函数
    Linux0.11内核剖析--内核代码(kernel)--sched.c
    MIME简介
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/10731179.html
Copyright © 2020-2023  润新知