Pagini recente » Cod sursa (job #1709369) | Cod sursa (job #338014) | Cod sursa (job #1351208) | Cod sursa (job #2460721) | Cod sursa (job #2782325)
#include <fstream>
using namespace std;
int par[100001],h[100001];
void uni(int x,int y)
{
if(h[x]<h[y])
par[x]=y;
else if(h[x]>h[y])
par[y]=x;
else
par[x]=y,h[y]++;
}
int fi(int x)
{
while(x!=par[x])
x=par[x];
return x;
}
int main()
{
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
int n,m,a,b,c,i;
cin>>n>>m;
for(i=1; i<=n; i++)
par[i]=i,h[i]=1;
for(i=0; i<m; i++)
{
cin>>c>>a>>b;
if(c==1)
uni(a,b);
else if(fi(a)==fi(b))
cout<<"DA"<<'\n';
else
cout<<"NU"<<'\n';
}
return 0;
}