Pagini recente » Cod sursa (job #1791913) | Cod sursa (job #840705) | Cod sursa (job #2748159) | Cod sursa (job #2438893) | Cod sursa (job #3279829)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n,m,t[100100],op,x,y;
int Find(int nod) {
if(t[nod]==0) {
return nod;
}
return t[nod]=Find(t[nod]);
}
void Union(int cx,int cy) {
t[cy]=cx;
}
int main() {
f>>n>>m;
while(m--) {
f>>op>>x>>y;
int cx=Find(x),cy=Find(y);
if(op==1) {
if(cx!=cy) {
Union(cx,cy);
}
} else {
if(cx==cy) {
g<<"DA";
} else {
g<<"NU";
}
g<<"\n";
}
}
f.close();
g.close();
return 0;
}