Pagini recente » Cod sursa (job #852897) | Cod sursa (job #2769678) | Cod sursa (job #1482576) | Cod sursa (job #1724551) | Cod sursa (job #2805988)
#include <fstream>
using namespace std;
/// midifica numele fisierelor
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
int n, m, t[100005];
int radacina(int x) {
while (t[x] != x)
x = t[x];
return x;
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
t[i] = i;
}
for (int i = 1; i <= m; i++) {
int cod, x, y, r1, r2;
cin >> cod >> x >> y;
r1 = radacina(x);
r2 = radacina(y);
if (cod == 1) {
/// unesc radacina lui x cu radacina lui y
t[r1] = r2; // sau invers
}
else {
/// daca radacina lui x este egala cu radacina lui y
/*
if (r1 == r2)
cout << "DA\n";
else
cout << "NU\n";
*/
cout << ((r1 == r2) ? "DA\n" : "NU\n");
}
}
return 0;
}