Cod sursa(job #2682006)
Utilizator | Data | 7 decembrie 2020 16:20:11 | |
---|---|---|---|
Problema | Paduri de multimi disjuncte | Scor | 70 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.33 kb |
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n,m,v[100001];
int rad(int x){
while(v[x]){x=v[x];}
return x;
}
int caz,x,y;
main(){
f>>n>>m;
while(m--){
f>>caz>>x>>y;
if(caz==1) v[rad(x)]=rad(y);
else if(rad(x)==rad(y)) g<<"DA\n";
else g<<"NU\n";
}
}