Pagini recente » Cod sursa (job #2846281) | Cod sursa (job #2647343) | Cod sursa (job #609502) | Cod sursa (job #2430037) | Cod sursa (job #2989277)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("disjoint.in");
ofstream fout ("disjoint.out");
int dad[100001], n , m;
void read() {
fin >> n;
for (int i=1;i<=n;i++) {
dad[i]=i;
}
}
int do_find(int n){
while (n!=dad[n]) {
n=dad[n];
}
return n;
}
void do_union(int n1, int n2) {
dad[n1]=dad[n2];
}
int main(){
read();
int x,y,z;
fin >> m;
for (int i=1;i<=m;i++){
fin >> z >> x >> y;
if (z==1) do_union(x,y);
if (z==2){
if (do_find(x)==do_find(y)) fout << "DA\n";
else fout << "NU\n";
}
}
}