Pagini recente » Cod sursa (job #2459597) | Cod sursa (job #139422) | Borderou de evaluare (job #702981) | Cod sursa (job #575887) | Cod sursa (job #929734)
Cod sursa(job #929734)
#include <fstream>
#define NMAX 100020
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int TT[NMAX], RG[NMAX];
int N, M;
int father(int x)
{
if(x!=TT[x])
TT[x]=father(TT[x]);
return TT[x];
}
int main()
{
fin>>N>>M;
int i, x, y, cd;
for (i = 1; i <= N; i++)
TT[i] = i;
for (i = 1; i <= M; i++)
{
fin>>cd>>x>>y;
if (cd == 2)
{
//verific daca radacina arborilor in care se afla x respectiv y este egala
if (father(x) == father(y))
fout<<"DA\n";
else
fout<<"NU\n";
}
else
TT[father(y)]=TT[father(x)];
}
return 0;
}