Pagini recente » Cod sursa (job #1967547) | Cod sursa (job #1242207) | Cod sursa (job #3189295) | Rating RADULICEA Constantin Dumitru Petre (BadBoy) | Cod sursa (job #2304049)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n,t,op,x,y,f[100010],a[1000010];
int r(int n){
if(f[n]!=n)
f[n]=r(f[n]);
return f[n];
}
int main(){
fin>>n>>t;
for(int i=1;i<=n;i++)
f[i]=i;
for(int i=1;i<=t;i++){
fin>>op>>x>>y;
if(op==1){
if(a[r(x)]>a[r(y)]){
f[f[y]]=f[x];
a[f[x]]+=a[r(y)]+1;
}
else{
f[f[x]]=f[y];
a[f[y]]+=a[f[x]]+1;
}
}
else if(r(x)==r(y))
fout<<"DA"<<"\n";
else
fout<<"NU"<<"\n";
}
return 0;
}