HDU-1213 并查集裸题

来源:互联网 发布:淘宝镜子自拍模特技巧 编辑:程序博客网 时间:2024/06/10 14:23
#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>#include <map>#include <set>using namespace std;typedef long long ll;#define DEBUGconst int maxn=110000+5,maxv=26,INF=0x3f3f3f3f,mod=100000000;int n,m,p[maxn];int find(int a){    return p[a]==a?a:find(p[a]);}int main(){#ifdef DEBUG    freopen("in.txt", "r", stdin);    freopen("out.txt", "w", stdout);#endif    int t;    cin>>t;    while(t--){        memset(p,0,sizeof(p));        cin>>n>>m;        int a,b;        for(int i=1;i<=n;i++)            p[i]=i;        while(m--){            cin>>a>>b;            int pb=find(b),pa=find(a);            if(pa!=pb)                p[pa]=pb;        }        int ans=0;        for(int i=1;i<=n;i++){            if(p[i]==i)ans++;        }        printf("%d\n",ans);    }#ifdef DEBUG    fclose(stdin);    fclose(stdout);#endif    return 0;}
原创粉丝点击