Pagini recente » Cod sursa (job #730651) | Cod sursa (job #553221) | Cod sursa (job #1370333) | Cod sursa (job #2628753) | Cod sursa (job #2886398)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int t[100005],x,y,c,n,i,op;
int radacina(int x)
{
if(t[x]==0)
return x;
else
{
int k=radacina(t[x]);
t[x]=k;
return k;
}
}
void unire(int x,int y)
{
int rx=radacina(x),ry=radacina(y);
if(rx!=ry)
{
t[rx]=ry;
}
}
int main()
{
f>>n>>op;
for(i=1;i<=n;i++)
{
t[i]=0;
}
for(i=1;i<=op;i++)
{
f>>x>>y>>c;
if(x==1)
{
unire(y,c);
}
else
if(radacina(y)==radacina(c))
{
g<<"DA"<<'\n';
}
else g<<"NU"<<'\n';
}
return 0;
}