Cod sursa(job #2289119)
Utilizator | Data | 24 noiembrie 2018 11:22:29 | |
---|---|---|---|
Problema | Paduri de multimi disjuncte | Scor | 40 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.67 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f1("disjoint.in");
ofstream f2("disjoint.out");
int tati[100005];
int n,m;
int main() {
int operatie, x,y,radx,rady;
f1>>n>>m;
for(int i=1;i<=n;i++)
tati[i]=i;
for(int i=0; i<m;i++){
f1>>operatie>>x>>y;
if(operatie == 1){
radx=tati[x];
rady=tati[y];
for(int i=1;i<=n;i++){
if(tati[i]==rady)
tati[i]=radx;
}
} else
if(operatie == 2){
if(tati[x]==tati[y])
f2<<"DA"<<endl;
else
f2<<"NU"<<endl;
}
}
return 0;
}