Pagini recente » Cod sursa (job #2246578) | Cod sursa (job #1337416) | Cod sursa (job #295188) | Cod sursa (job #2566828) | Cod sursa (job #3181057)
#include <fstream>
using namespace std;
ifstream cin ("disjoint.in");
ofstream cout("disjoint.out");
int tata[100001],n, m , rx, ry, t, x, y;
int rad(int x)
{
while(tata[x] > 0)
{
x = tata[x];
}
return x;
}
int main()
{
cin>> n >> m;
for(int i = 1; i<=n; i++)
{
tata[i] = -1;
}
for(int i = 1; i<=m; i++)
{
cin>>t >> x>>y;
if(t==1)
{
rx=rad(x);
ry=rad(y);
if(rx!=ry)
{
if(tata[rx]<tata[ry])
{
tata[rx]+=tata[ry];
tata[ry] = rx;
}
else
{
tata[ry]+=tata[rx];
tata[rx] = ry;
}
}
}
else
{
rx=rad(x);
ry=rad(y);
if(rx==ry)
{
cout << "DA\n";
}
else
cout << "NU\n";
}
}
return 0;
}