记录编号 593705 评测结果 AAAAAAAAAA
题目名称 宗教信仰 最终得分 100
用户昵称 GravatarKKZH 是否通过 通过
代码语言 C++ 运行时间 1.023 s
提交时间 2024-09-10 18:44:32 内存使用 5.35 MiB
显示代码纯文本
    #include <bits/stdc++.h>
    using namespace std;
    int n,f[500010],m,a,b,ans;
    int find(int x){
    	if(f[x]==x){
    		return x;
    	}else{
    		return f[x]=find(f[x]);
    	}
    }
    void w(int x,int y){
    	int tx=find(x);
    	int ty=find(y);
    	f[tx]=ty;
    }
    int main(){
    	freopen("religion.in","r",stdin);
    	freopen("religion.out","w",stdout);
    	cin>>n;
    	for(int i=1;i<500010;i++){
    		f[i]=i;
    	}
    	cin>>m;
    	for(int i=1;i<=m;i++){
    		scanf("%d%d",&a,&b);
    		if(find(a)!=find(b)){
    			w(a,b);
    		}
    	}
    	for(int i=1;i<=n;i++){
    		if(f[i]==i){
    			ans++;
    		}
    	}
    	cout<<ans;
    }