zoukankan      html  css  js  c++  java
  • hdu 1232 经典并查集应用

    http://acm.hdu.edu.cn/showproblem.php?pid=1232

    完全就是并查集的应用啊。。。

    View Code
     1 #include<iostream>
     2 const int N=1010;
     3 using namespace std;
     4 
     5 int n,m;
     6 int parent[N];
     7 
     8 //初始化
     9 void UFset(){
    10     for(int i=1;i<=n;i++){
    11         parent[i]=-1;
    12     }
    13 }
    14 //找根结点
    15 int Find(int x){
    16     int s;
    17     for(s=x;parent[s]>=0;s=parent[s]);
    18     //优化
    19     while(s!=x){
    20         int temp=parent[x];
    21         parent[x]=s;
    22         x=temp;
    23     }
    24     return s;
    25 }
    26 //合并
    27 void Union(int R1,int R2){
    28     int r1=Find(R1);
    29     int r2=Find(R2);
    30     int temp=parent[r1]+parent[r2];
    31     if(parent[r1]>parent[r2]){
    32         parent[r1]=r2;
    33         parent[r2]=temp;
    34     }else {
    35         parent[r2]=r1;
    36         parent[r1]=temp;
    37     }
    38 }
    39 
    40 int main(){
    41     while(scanf("%d%d",&n,&m)!=EOF){
    42         if(n==0)break;
    43         int x,y,ans=n-1;
    44         UFset();
    45         for(int i=1;i<=m;i++){
    46             scanf("%d%d",&x,&y);
    47             if(Find(x)!=Find(y)){
    48                 Union(x,y);
    49                 ans--;
    50             }
    51         }
    52         printf("%d\n",ans);
    53     }
    54     return 0;
    55 }
  • 相关阅读:
    C++中求类的大小
    BP神经网络
    感知机
    static和const关键字
    C++随笔(2)
    React表单元素的使用
    React可控组件与不可控组件
    React组件-mixin
    React-组件嵌套-子组件通过委托向父组件传值
    React事件属性
  • 原文地址:https://www.cnblogs.com/wally/p/2890444.html
Copyright © 2011-2022 走看看