Pagini recente » Cod sursa (job #1424320) | Istoria paginii runda/road_to_ioi_6/clasament | Cod sursa (job #1657658) | Cod sursa (job #1335646) | Cod sursa (job #1196129)
#include<fstream>
using namespace std;
int n, m, T[100003], x, y, rx, ry, i, op;
int rad(int x){
while(T[x]>=0)
x=T[x];
return x;
}
ifstream in("disjoint.in");
ofstream out("disjoint.out");
int main(){
in>>n>>m;
for(i=1; i<=n; i++){
T[i]=-1;
}
for(;m--;){
in>>op>>x>>y;
if(op==1){
rx=rad(x);
ry=rad(y);
if(rx!=ry){
if(T[rx]<T[ry]){
T[rx]+=T[ry];
T[ry]=rx;
}
else{
T[ry]+=T[rx];
T[rx]=ry;
}
}
}
else{
rx=rad(x);
ry=rad(y);
if(rx==ry)
out<<"DA"<<"\n";
else
out<<"NU"<<"\n";
}
}
return 0;
}