Cod sursa(job #2693960)
Utilizator | Stefan Ste Qubee | Data | 7 ianuarie 2021 18:28:33 |
---|---|---|---|
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 x){
while (v[x] != 0)
x = v[x];
return x;
}
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;
}