poj 2524 Ubiquitous Religions(无所不在的宗教)

来源:互联网 发布:小马激活软件 编辑:程序博客网 时间:2024/04/29 04:06
这是一道并查集的水题,套用模板就行了。
#include<stdio.h>int arr[50005];int find(int x){int k, j, r;    r = x;    while(r != arr[r])             r = arr[r];          k = x;            while(k != r)                 {        j = arr[k];                 arr[k] = r;                k = j;                       }    return r;  }void merge(int a, int b){int fx=find(a);int fy=find(b);if(fx!=fy)arr[fx]=fy;}int main(){int n,m,count,k=0;int a,b;while(~scanf("%d%d",&n,&m),n,m){for(int i=1;i<=n;i++)arr[i]=i;for(int i=0;i<m;i++){scanf("%d%d",&a,&b);merge(a,b);}count=0;for(int i=1;i<=n;i++){if(arr[i]==i)count++;}k++;printf("Case %d: %d\n",k,count);}return 0;}

0 0
原创粉丝点击