Cod sursa(job #2693961)
Utilizator | Data | 7 ianuarie 2021 18:29:52 | |
---|---|---|---|
Problema | Paduri de multimi disjuncte | Scor | 40 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int v[100001];
int N, M, cod, x, y;
int radacina(int aux){
while (v[aux] != 0)
aux = v[aux];
return aux;
}
int main(){
f>> N >> M;
for (int i = 0; i < M; i++){
f >>cod>>x>>y;
if (cod == 1)
v[radacina(y)] = radacina(x);
else if (radacina(x) == radacina(y))
g << "DA"<<endl;
else
g << "NU"<<endl;
}
return 0;
}