文章
211
粉丝
0
获赞
969
访问
32.9k
#include<bits/stdc++.h>
using namespace std;
int fa[10005];
int find(int x) {
if(x == fa[x])
return x;
fa[x] = find(fa[x]); //路径压缩
return fa[x];
}
int main(){
int n,m;
cin >> n >> m;
int zi,xi,yi;
for (int i = 1; i <= n; i++) {
fa[i] = i;// 初始化并查集
}
for(int i=0;i<m;i++){
cin >> zi >> xi >> yi;
if(zi == 1){
fa[find(xi)] = find(yi); // 合并集合
}else{
if(find(xi)== find(yi))
cout << "Y" << endl;
else
cout << "N" << endl;
}
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发