Pagini recente » Cod sursa (job #950353) | Cod sursa (job #2131114) | Cod sursa (job #1626150) | Cod sursa (job #1412432) | Cod sursa (job #1649847)
#include<fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int t[100005],n,m,x,y,op,a,b;
int rad( int nod ){
if( t[nod] > 0 ){
nod = rad( t[nod] );
}
return nod;
}
int main(){
fin >> n >> m;
for( int i = 1; i <= n; i++ ){
t[i] = -1;
}
for( int k = 1; k <= m; k++ ){
fin >> op >> x >> y;
if( op == 1 ){
a = rad(x);
b = rad(y);
if( t[a] <= t[b] ){
t[a] -= t[b];
t[b] = a;
}else{
t[b] -= t[a];
t[a] = b;
}
}else{
a = rad(x);
b = rad(y);
if( a == b ){
fout << "DA\n";
}else{
fout << "NU\n";
}
}
}
return 0;
}