Pagini recente » Cod sursa (job #1611583) | Cod sursa (job #1394018) | Borderou de evaluare (job #3285890) | Cod sursa (job #3243785) | Cod sursa (job #1801782)
#include<bits/stdc++.h>
using namespace std;
int Array[100100],number,operation,t,x,y;
int find(int nod)
{
if (Array[nod] == nod) return nod;
int help = find(Array[nod]);
Array[nod] = help;
return help;
}
void unite(int a, int b){
a=find(a);
b=find(b);
Array[a]=b;
}
int main(){
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
ios_base::sync_with_stdio(0);
cin.tie(0);
fin>>number>>operation;
for(int count(1);count<=number;count++) Array[count]=count;
for(int count(1);count<=operation;count++){
fin >> t >>x >>y;
if (t==1) unite(x,y);
else fout<<(find(x)==find(y)?"DA":"NU")<<endl;
}
return 0;
}