Pagini recente » Cod sursa (job #719726) | Cod sursa (job #3190718) | Cod sursa (job #1857217)
#include <fstream>
#define N 100005
using namespace std;
int n, m, p[N];
int find_set(int x){
if(p[x]==x)return x;
int a=find_set(p[x]);
p[x]=a;
return a;
}
void merge_sets(int x, int y){p[find_set(x)]=find_set(y);}
int main(){
ifstream in("disjoint.in");
ofstream out("disjoint.out");
in>>n>>m;
int op, a, b;
for(int i=1; i<=n; i++)p[i]=i;
for(int i=1; i<=m; i++){
in>>op>>a>>b;
if(op==1)merge_sets(find_set(a), find_set(b));
else out<<((find_set(a)==find_set(b))?"DA":"NU")<<"\n";
}
return 0;
}