hdu 1232

来源:互联网 发布:java 熔断机制 编辑:程序博客网 时间:2024/05/29 14:08

题目

并查集水题,主要是熟悉三个函数

代码如下:

#include<iostream>using namespace std;int pre[1005];int find(int x){    int r=x;    while(pre[r]!=r) r=pre[r];    return r;}void Union(int x,int y){    int fx=find(x);    int fy=find(y);    if(fx!=fy) pre[fx]=fy;}void Init(){    for(int i=1;i<=1000;i++)      pre[i]=i;}int main(){    int i,n,m,a,b,ans;    while(cin>>n,n){        Init();        cin>>m;        ans=n-1;        for(i=0;i<m;i++){            cin>>a>>b;            if(find(a)!=find(b)){                Union(a,b);                ans--;            }        }        cout<<ans<<endl;    }    return 0;}