为什么只有70
查看原帖
为什么只有70
385872
地雷123456楼主2021/11/13 19:49
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,f[100001],o,a[100001],l;
int h(int i){
	if(f[i]!=i){
		h(f[i]);	
	}else{
		f[o]=i;
		return i;
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		f[i]=i;
	}
	for(int i=1;i<=m;i++){
		int x,y;
		cin>>x>>y;
		o=x;
		int e=h(x);
		o=y;
		int w=h(y);
		f[e]=w;
	}
	for(int i=1;i<=100001;i++){
		int w=h(i);
		a[i]=w;
	}
	sort(a+1,a+n+1);
	for(int i=1;i<=n;i++){
        if(a[i]!=a[i-1]){
        	l++;
		}
	}
	cout<<l;
}
2021/11/13 19:49
加载中...