大家快来A水题(sdut_2805)

来源:互联网 发布:php防止ddos 编辑:程序博客网 时间:2024/05/22 12:11
#include <stdio.h>#include <stdlib.h>#include <string.h>int a[2010];int find(int x){    while(x != a[x]){        x = a[x];    }    return x;}void merge(int x, int y){    int f1, f2;    f1 = find(x);    f2 = find(y);    if(f1 != f2){        a[f1] = f2;    }}int main(){    int n, m;    while(~scanf("%d %d", &n, &m)){        int i;        for(i = 1;i <= n;i++){            a[i] = i;        }        int u, v;        for(i = 0;i < m;i++){            scanf("%d %d", &u, &v);            merge(u,v);        }        int sum = 0;        for(i = 1;i <= n;i++){            if(a[i] == i){                sum++;            }        }        printf("%d\n", sum);    }    return 0;}

1 0
原创粉丝点击