Pagini recente » Cod sursa (job #2453041) | Cod sursa (job #1615427) | Cod sursa (job #2575120)
#include <bits/stdc++.h>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n,m,r[1<<17];
int gasesteRad(int nod)
{ int k;
for(k=nod; nod!=r[nod];)
nod=r[nod];
for(; k!=r[k]; r[k]=nod)
k=r[k];
return nod;
}
int main()
{ f>>n>>m;
for(int i=1; i<=n; i++)
r[i]=i;
for(int t,x,y,rx,ry; f>>t>>x>>y;)
{ rx=gasesteRad(x),ry=gasesteRad(y);
if(t==1)
r[ry]=rx;
else
g<<(rx==ry ? "DA\n" : "NU\n");
}
g.close(); return 0;
}