Pagini recente » Cod sursa (job #3030392) | Cod sursa (job #1714681) | Cod sursa (job #1448330) | Cod sursa (job #473585) | Cod sursa (job #2932615)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int multime[100005];
vector< vector<int> > elem;
int n,m;
int main(){
fin >> n >> m;
elem.resize(n+1);
for(int i = 1; i <= n; ++i){
multime[i] = i;
elem[i].push_back(i);
}
for(int k = 0; k < m; ++k){
int op, x, y;
fin >> op >> x >> y;
if(op == 1){
int mulX = multime[x], mulY = multime[y];
while(elem[mulY].size()){
int f = elem[mulY].back();
multime[f] = mulX;
elem[mulX].push_back(f);
elem[mulY].pop_back();
}
}
else{
if(multime[x] == multime[y])
fout << "DA\n";
else
fout << "NU\n";
}
}
return 0;
}