Pagini recente » Cod sursa (job #1982461) | Cod sursa (job #3228660) | Cod sursa (job #2541213) | Cod sursa (job #2541411) | Cod sursa (job #2937368)
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int parent[100001], rang[100001];
int find(int x)
{
if(parent[x]==x)
return x;
return parent[x]=find1(parent[x]);
}
void union1(int x, int y)
{
if(rang[x]>rang[y])
parent[y]=x, rang[x]+=rang[y];
else
parent[x]=y, rang[y]+=rang[x];
}
int main(){
int n,q,tip,a,b;
f >> n >> q;
for(int i=1; i<=n; i++){
parent[i]=i;
rang[i]=1;
}
while(q--){
f >> cod >> a >> b;
if(cod==1)
union1(find(a),find(b));
else{
if(find(a)==find(b))
g << "DA" << endl;
else
g << "NU" << endl;
}
}
return 0;
}