作业介绍
并查集模板
#include<iostream>
using namespace std;
const int MAXN = 10010;
int parent[MAXN];
void init(int n){
for(int i = 1 ; i < n ; i++){
parent[i] = i ;
}
}
int Find(int x ){
if(parent[x]==x){
return x;
}else{
return Find(parent[x]);
}
}
void Union(int x , int y){
int rootx = Find(x);
int rooty = Find(y);
if(rootx != rooty){
parent[rootx] = rooty;
}
}
int main(){
int n , m ;
cin >> n >> m ;
init(n);
int z , x , y;
for(int i = 1 ; i<= m ; i++){
cin >> z >> x >> y;
if(z == 1){
Union(x,y);
}else{
if(Find(x) == Find(y)){
cout << "Y" <<endl;
}else{
cout << "N" <<endl;
}
}
}
return 0;
}
题目
- 状态
- 已结束
- 题目
- 2
- 开始时间
- 2025-6-15 0:00
- 截止时间
- 2025-6-23 23:59
- 可延期
- 24 小时