Pagini recente » bulangandit5 | Cod sursa (job #3250668) | Cod sursa (job #1291484) | Cod sursa (job #1052893) | Cod sursa (job #2039019)
#include <iostream>
#include <fstream>
#define N_MAX 100005
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n, m, p[N_MAX];
int parinte(int nod)
{
if(p[nod] == nod) return nod;
return p[nod] = parinte(p[nod]);
}
void unite(int x, int y)
{
p[parinte(x)] = parinte(y);
}
int main()
{
f >> n >> m;
int x, y, q;
for(int i = 1; i <= n; i++)
p[i] = i;
for (int i = 1; i <= m; i++)
{
f >> q >> x >> y;
if(q == 1)
unite(x, y);
else
{
if(parinte(x) == parinte(y)) g << "DA\n";
else g << "NU\n";
}
}
return 0;
}