Pagini recente » Cod sursa (job #2462451) | Statistici iulian iulian (cineva_pe_monociclu) | Cod sursa (job #894856) | Cod sursa (job #74112) | Cod sursa (job #878941)
Cod sursa(job #878941)
#include<fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int i,x,y,t,n,m,v[100100],a,b;
int min(int a,int b)
{
if(a>b)
return b;
return a;
}
int max(int a,int b)
{
if(a>b)
return a;
return b;
}
int find_ancestor(int x)
{
int nod=x;
while(v[x])
x=v[x];
while(v[nod])
{
v[nod]=x;
nod=v[nod];
}
return x;
}
int main ()
{
f>>n>>m;
for(i=1;i<=m;++i)
{
f>>t>>x>>y;
t--;
a=find_ancestor(x);
b=find_ancestor(y);
if(t)
{
if(a==b)
g<<"DA\n";
else
g<<"NU\n";
}
else
{
v[max(a,b)]=min(a,b);
}
}
return 0;
}