poj 2524 并查集

来源:互联网 发布:网络故障诊断 目的意义 编辑:程序博客网 时间:2024/06/06 02:15
#include<iostream>#include<cstdio>using namespace std;const int maxn=5*1e4+5;int par[maxn],res,n,m,num[maxn];void init(){    for(int i=1;i<=n;i++)        par[i]=i;    res=n;}int find(int num){    if(par[num]==num)        return num;    return par[num]=find(par[num]);}int main(){    int x,y,t=0;    while(scanf("%d%d",&n,&m)!=EOF&&(n||m))    {        init();        while(m--&&scanf("%d%d",&x,&y)!=EOF)        {            int fa=find(x),fb=find(y);            if(fa!=fb)            {                res--;                par[fa]=fb;            }        }        printf("Case %d: %d\n",++t,res);    }    return 0;}

0 0
原创粉丝点击