Pagini recente » Cod sursa (job #316315) | Cod sursa (job #1790329) | Cod sursa (job #885361) | Cod sursa (job #1362039) | Cod sursa (job #1644378)
# include <fstream>
# include <vector>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
const int MAX = 100005;
vector<int> t(MAX);
int n, m, tmp, x, y, i;
int radacina(int x) {
int r;
for (r = x; r != t[r]; r = t[r])
;
return r;
}
void connect(int x, int y) {
t[radacina(x)] = radacina(y);
}
int main() {
fin >> n >> m;
for (i=1; i<=n; ++i)
t[i] = i;
for (i=1; i<=m; ++i) {
fin >> tmp >> x >> y;
if (tmp == 1)
connect(x, y);
else
if (radacina(x) == radacina(y))
fout << "DA\n";
else
fout << "NU\n";
}
return 0;
}