Pagini recente » Cod sursa (job #1255339) | Cod sursa (job #670739) | Cod sursa (job #1021548) | Cod sursa (job #828645) | Cod sursa (job #2289217)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f1("disjoint.in");
ofstream f2("disjoint.out");
int tati[100005];
int n,m;
int find(int x){
int R, y;
for(R = x; R!=tati[R]; R = tati[R]);
while(tati[x]!=x){
y=tati[x];
tati[x]=R;
x=y;
}
return R;
}
int main() {
int operatie, x,y;
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){
tati[find(x)]=tati[find(y)];
} else
if(operatie == 2){
if(tati[find(x)]==tati[find(y)])
f2<<"DA"<<endl;
else
f2<<"NU"<<endl;
}
}
return 0;
}