Pagini recente » Cod sursa (job #934376) | Cod sursa (job #357192) | Cod sursa (job #1758090) | Cod sursa (job #3274849) | Cod sursa (job #1801778)
#include<bits/stdc++.h>
using namespace std;
void unite(int,int);
int find(int);
int Array[100101],number,operation,t,x,y;
int main(){
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
ios_base::sync_with_stdio(0);
cin.tie(0);
fin>>number>>operation;
for(int count(1);count<=number;count++) Array[count]=count;
for(int count(1);count<=operation;count++){
fin >> t >>x >>y;
if (t==1) unite(x,y);
else fout<<(find(x)==find(y)?"DA":"NU")<<endl;
}
return 0;
}
int find(int nod)
{
if (Array[nod] == nod) return nod;
int help = find(Array[nod]);
Array[nod] = help;
return help;
}
void unite(int a, int b){
a=find(a);
b=find(b);
Array[a]=b;
}