【codevs 3554】犯罪团伙

来源:互联网 发布:淘宝好评改差评怎么改 编辑:程序博客网 时间:2024/05/02 17:32

并查集。

#include<cstdio>#include<iostream>using namespace std;int fa[10000+5];int n,m,ans=0;int find(int x){    return fa[x]==x?x:fa[x]=find(fa[x]);}void merge(int x,int y){    int t1=find(x),t2=find(y);    if(t1!=t2) fa[t2]=t1;}int main(){    scanf("%d%d",&n,&m);    for(int i=1;i<=n;i++) fa[i]=i;    int x,y;    for(int i=1;i<=m;i++)    {        scanf("%d %d",&x,&y);        merge(x,y);    }    for(int i=1;i<=n;i++)        if(fa[i]==i) ans++;    printf("%d\n",ans);    return 0;}
原创粉丝点击