Pagini recente » Cod sursa (job #353149) | Istoria paginii utilizator/ionutdobre | Cod sursa (job #1972043) | Cod sursa (job #419048) | Cod sursa (job #664518)
Cod sursa(job #664518)
#include <fstream>
using namespace std;
int n, m, PA[100010];
int radacina(int a) {
int r = a, aux;
for(r = a; PA[r] != r; r = PA[r]);
while(PA[a] != a) {
aux = PA[a];
PA[a] = r;
a = aux;
}
return r;
}
int main() {
int i, t, a, b;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
f >> n >> m;
for(i = 1; i <= n; ++i)
PA[i] = i;
for(i = 1; i <= m; ++i) {
f >> t >> a >> b;
if(t == 1)
PA[b] = a;
else if(radacina(a) == radacina(b))
g << "DA\n";
else
g << "NU\n";
}
g.close();
return 0;
}