Pagini recente » Cod sursa (job #999829) | Cod sursa (job #228336) | Cod sursa (job #1487094) | Cod sursa (job #2172699) | Cod sursa (job #2751965)
#include <iostream>
#include <fstream>
using namespace std;
int m[100000];
int n;
int findx(int i) {
if(m[i]==i) return i;
return m[i]=findx(m[i]);
}
void unionx(int i, int j) {
int mi,mj;
mi=findx(i);
mj=findx(j);
m[mj]=mi;
}
int main() {
ifstream in("disjoint.in");
ofstream out("disjoint.out");
int p,i,a,x,y;
in>>n>>p;
for(i=1; i<=n; i++) {
m[i]=i;
}
for(i=0; i<p; i++) {
in>>a>>x>>y;
if(a==1) {
unionx(x, y);
} else {
if(findx(x)==findx(y)) {
out<<"DA"<<'\n';
} else
out<<"NU"<<'\n';
}
}
return 0;
}