Pagini recente » Cod sursa (job #2897522) | Cod sursa (job #1407580) | Cod sursa (job #655125) | Cod sursa (job #2671913) | Cod sursa (job #3350913)
#include <fstream>
using namespace std;
ifstream cin ("disjoint.in");
ofstream cout ("disjoint.out");
int r[100001];
int findd (int x)
{
if (r[x] == x)
{
return x;
}
return r[x] = findd(r[x]);
}
void conectare (int x , int y)
{
int rx = findd(x) , ry = findd(y);
if (rx == ry)
{
return;
}
r[rx] = ry;
}
int main()
{
int n,m;
cin >>n>>m;
for (int i = 1; i <= n; i++)
{
r[i] = i;
}
for (int i = 1; i <= m; i++)
{
int c;
cin >>c;
if (c == 1)
{
int x,y;
cin >>x>>y;
conectare(x , y);
}
else
{
int x,y;
cin >>x>>y;
if (findd(x) == findd(y))
{
cout <<"DA\n";
}
else
{
cout <<"NU\n";
}
}
}
return 0;
}