Pagini recente » Cod sursa (job #537534) | Cod sursa (job #2801297) | Cod sursa (job #1712422) | Cod sursa (job #2987837) | Cod sursa (job #2170063)
#include <fstream>
#define Nmax 100009
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n,m,x,y,p,root[Nmax];
int getroot(int x) {
while(x!=root[x]) {
x=root[x];
}
return x;
}
void Solve1(int x, int y) {
root[getroot(y)]=x;
}
void Solve2(int x, int y) {
if (getroot(x) == getroot(y)) g<<"DA\n";
else g<<"NU\n";
}
void ReadInput() {
f>>n>>m;
for (int i=1; i<=n; ++i) root[i]=i;
for (int i=1; i<=m; ++i) {
f>>p>>x>>y;
if (p==1) {
Solve1(x,y);
}
else {
Solve2(x,y);
}
}
}
int main() {
ReadInput();
f.close();
g.close();
}