fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. long find(long a[],long i)
  5. {
  6. if(a[i]!=i)
  7. return i=a[i];
  8. return i;
  9. }
  10.  
  11. int main()
  12. {
  13. long n,q;
  14. cin>>n>>q;
  15. long a[n];
  16. for(long i=0;i<n;i++) a[i]=i;
  17.  
  18. while(q--)
  19. {
  20. int t;
  21. long u,v;
  22. cin>>t>>u>>v;
  23. u--;
  24. v--;
  25. if(t==1)
  26. {
  27. long pu=find(a,u);
  28. long pv=find(a,v);
  29. if(pu!=pv)
  30. {
  31. a[pv]=pu;
  32. }
  33. }
  34. else
  35. {
  36. long pu=find(a,u);
  37. long pv=find(a,v);
  38. // cout<<pu<<" "<<pv<<"\n";
  39. if(pu==pv)
  40. cout<<"Yes\n";
  41. else
  42. cout<<"No\n";
  43. }
  44. }
  45. return 0;
  46. }
Success #stdin #stdout 0s 4480KB
stdin
3 6
2 1 2
1 1 2
2 1 2
2 1 3
1 2 3
2 1 3
stdout
No
Yes
No
Yes