hdu 1213

来源:互联网 发布:php memcache set参数 编辑:程序博客网 时间:2024/06/05 09:05
//并查集求连通分量的个数#include <iostream>#include<cstdio>#include<cstring>#include<set>using namespace std;const int maxn=1000+5;int parent[maxn];int ran[maxn];int N,M;            //N为朋友的个数 M为关系个数set<int>d;int find(int i){    if(i!=parent[i])        parent[i]=find(parent[i]);    return parent[i];}void unite(int x,int y){    int p1=find(x);    int p2=find(y);    if(p1!=p2) parent[p2]=p1;}int main(){    int T;    scanf("%d",&T);        while(T--)        {            d.clear();            scanf("%d%d",&N,&M);            for(int i=1;i<=N;i++)                 {                     parent[i]=i;                     ran[i]=1;                 }            while(M--)              {                int v1,v2;                scanf("%d%d",&v1,&v2);                unite(v1,v2);              }            for(int i=1;i<=N;i++)                d.insert(find(i));            cout<<d.size()<<endl;        }    return 0;}
原创粉丝点击