Pagini recente » Cod sursa (job #1401194) | Cod sursa (job #2757452) | Cod sursa (job #414772) | Cod sursa (job #3232777) | Cod sursa (job #2200260)
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n, m, c, x, y, i, t[100001];
void uneste(int x, int y) {
t[x] = y;
}
int tata(int x) {
if (t[x] != x)
t[x] = tata(t[x]);
return t[x];
}
int main() {
f >> n >> m;
for (i = 1; i <= n; ++i) {
t[i] = i;
}
for (i = 1; i <= m; ++i) {
f >> c >> x >> y;
if (c == 1) {
uneste(tata(x), tata(y));
} else {
if (tata(x) == tata(y))
g << "DA\n";
else
g << "NU\n";
}
}
return 0;
}