全RE求调
查看原帖
全RE求调
911887
Mona_Lorenz楼主2025/2/8 09:32
#include<iostream>
using namespace std;
int n,m,f[1100000],ans,a[101000],h;
int find(int x){
	return f[x] == x ? x : f[x] = find(f[x]);
}
int ad(int u, int v){
	int fu = find(u),fv = find(v);
	f[fu] = fv;
}
int main(){
		cin >> n;
		for(int i = 1; i <= n; i++)
			f[i] = i;
		ans=0;
		int x;
		for(int i = 1; i <= n; i++){
			cin >> x;
			ad(i,x);
		}
		for(int i = 1; i <= n; i++){
			if(find(i) == i)
				ans++;
		}
	cout << ans;
	return 0;
}
2025/2/8 09:32
加载中...