Pagini recente » Cod sursa (job #1663143) | Cod sursa (job #2454033) | Cod sursa (job #1005148) | Cod sursa (job #1009616) | Cod sursa (job #2773387)
#include <bits/stdc++.h>
using namespace std;
ifstream in("disjoint.in");
ofstream out("disjoint.out");
int sef[100005];
int sefsup(int x){
if(sef[x]==x)
return x;
else
return sef[x]=sefsup(sef[x]);
}
void unite(int x, int y){
int sefx=sefsup(x);
int sefy=sefsup(y);
sef[sefx]=sefy;
}
int main()
{
int n,m,i,op,x,y;
in>>n>>m;
for(i=1;i<=n;++i)
sef[i]=i;
for(i=1;i<=m;++i){
in>>op>>x>>y;
if(op==1)
unite(x,y);
else
if(sefsup(x)==sefsup(y))
out<<"DA"<<'\n';
else
out<<"NU"<<'\n';
}
return 0;
}