Pagini recente » Cod sursa (job #915091) | Cod sursa (job #2240390) | Cod sursa (job #1056738) | Cod sursa (job #1438812) | Cod sursa (job #2932612)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int multime[100005];
vector< queue<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(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].empty()){
int f = elem[mulY].front();
multime[f] = mulX;
elem[mulX].push(f);
elem[mulY].pop();
}
}
else{
if(multime[x] == multime[y])
fout << "DA\n";
else
fout << "NU\n";
}
}
return 0;
}