Pagini recente » Cod sursa (job #2195178) | Cod sursa (job #2346608) | Cod sursa (job #262282) | Cod sursa (job #579463) | Cod sursa (job #2851613)
#include <bits/stdc++.h>
using namespace std;
const int nmax = 1e5;
int root[nmax+5];
int lookup(int node) {
if(root[node] == node) return node;
root[node] = lookup(root[node]);
return root[node];
}
void propane(int x, int y) {
root[lookup(x)] = lookup(y);
}
int main (){
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n,m; f >> n >> m;
for(int i=1; i<=n; i++) root[i] = i;
for(int i=1; i<=m; i++) {
int type,x,y; f >> type >> x >> y;
if(type==1)
propane(x,y);
else
(lookup(x)==lookup(y) ? g << "DA\n" : g << "NU\n");
}
return 0;
}