Pagini recente » Cod sursa (job #2597282) | Cod sursa (job #83697) | Cod sursa (job #1829866) | Cod sursa (job #1713406) | Cod sursa (job #1098669)
//
// main.cpp
// Paduri de multimi disjuncte
//
// Created by Stefan Iarca on 2/4/14.
// Copyright (c) 2014 Stefan Iarca. All rights reserved.
//
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
#define NMAX 100010
int N,M,TT[NMAX];
void Init(){
for (int i = 1; i <= N; i++) {
TT[i] = i;
}
}
void Read(){
f>>N>>M;
}
int Search(int x){
if (TT[x] == 0)
return x;
TT[x] = Search(TT[x]);
return TT[x];
}
bool Merge(int x, int y){
x = Search(x);y = Search(y);
if (x == y)
return false;
TT[y] = x;
return true;
}
int main()
{
Read(); int x,y,cod;
for (int i = 1; i <= M; i++) {
f>>cod>>x>>y;
if(cod == 1){
Merge(x, y);
}else{
if (Search(x) == Search(y)) {
g<<"DA"<<"\n";
}else{
g<<"NU"<<"\n";
}
}
}
return 0;
}