Pagini recente » Cod sursa (job #2365519) | Cod sursa (job #3239868) | Cod sursa (job #2528862) | Cod sursa (job #520284) | Cod sursa (job #1231880)
#include <fstream>
using namespace std;
int T[100005]; // H[100005];
int get_root(int x)
{
while( T[x] ) x = T[x];
return x;
}
int main()
{
ifstream inFile("disjoint.in");
ofstream outFile("disjoint.out");
int N, M;
inFile >> N >> M;
int cod, x, y;
while(M--){
inFile >> cod >> x >> y;
int rx = get_root(x);
int ry = get_root(y);
int a = rx, b = ry, aux;
while(T[a]){ aux = T[a]; T[a] = rx; a = aux; }
while(T[b]){ aux = T[b]; T[b] = rx; b = aux; }
if( cod == 1 ){
T[rx] == ry;
//if( H[rx] == H[ry] ){ T[ry] = rx; H[rx]++; }
//if( H[rx] > H[ry] ){ T[ry] = rx; }
//if( H[ry] > H[rx] ){ T[rx] = ry; }
}else{
if(rx == ry) outFile << "DA\n";
else outFile << "NU\n";
}
}
}