Pagini recente » Cod sursa (job #2907717) | Cod sursa (job #3181674) | preONI 2008, Clasament Runda Finala, Clasa a 9-a | Cod sursa (job #299228) | Cod sursa (job #2947295)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n, m, x, y, cod, fx, fy;
vector<int> par;
// gaseste tatal unui nod
int find(int x) {
if(x != par[x]) {
par[x] = find(par[x]);
return par[x];
}
return x;
}
int main() {
f >> n >> m;
// initalizam tatal unui nod sa fie el insusi
par.resize(n + 1);
for(int i = 0; i < n; i++)
par[i] = i;
for(int i = 1; i <= m; i++) {
f >> cod >> x >> y;
fx = find(x);
fy = find(y);
if(cod == 1) {
par[fy] = fx;
} else {
if(fx == fy)
g << "DA" << endl;
else
g << "NU" << endl;
}
}
}