POJ 2524 Ubiquitous Religions

来源:互联网 发布:网络10条禁令 编辑:程序博客网 时间:2024/04/29 06:33
////  main.cpp//  Richard////  Created by 邵金杰 on 16/7/23.//  Copyright © 2016年 邵金杰. All rights reserved.//#include<iostream>#include<cstring>using namespace std;const int maxn=50000+100;int pa[maxn],sum[maxn];int getroot(int a){    return pa[a]==a?a:pa[a]=getroot(pa[a]);}void merge(int u,int v){    int a=getroot(u);    int b=getroot(v);    if(a==b) return ;    pa[b]=a;    sum[a]+=sum[b];    sum[b]=0;}int main(){    int m,n,u,v,kase=0;    while(cin>>m>>n&&(m||n))    {        int cnt=0;        for(int i=1;i<=m;i++) {pa[i]=i;sum[i]=1;}        for(int i=0;i<n;i++){            cin>>u>>v;            merge(u,v);        }        sort(sum+1,sum+m+1);        for(int i=m;i>=1;i--){            if(sum[i]>0) cnt++;            else break;        }        cout<<"Case "<<++kase<<": "<<cnt<<endl;    }    return 0;}

0 0