Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. #include <functional>
  2. #include <algorithm>
  3. #include <iostream>
  4. #include <cstring>
  5. #include <cstdlib>
  6. #include <cassert>
  7. #include <sstream>
  8. #include <numeric>
  9. #include <string>
  10. #include <vector>
  11. #include <cstdio>
  12. #include <bitset>
  13. #include <cmath>
  14. #include <ctime>
  15. #include <queue>
  16. #include <stack>
  17. #include <map>
  18. #include <set>
  19.  
  20. using namespace std;
  21.  
  22. #define forit(it, s) for(__typeof(s.begin()) it = s.begin(); it != s.end(); it++)
  23. #define np(v) next_permutation(v.begin(), v.end())
  24. #define pll pair < long long, long long>
  25. #define all(a) a.begin(), a.end()
  26. #define ull unsigned long long
  27. #define pii pair < int, int >
  28. #define sz(a) (int)a.size()
  29. #define sqr(x) ((x) * (x))
  30. #define y1 stupid_cmath
  31. #define vi vector <int>
  32. #define pb push_back
  33. #define mp make_pair
  34. #define ll long long
  35. #define rank asdas
  36. #define f first
  37. #define s second
  38.  
  39. const int inf = (int)3e6;
  40. const int mod = inf + 7;
  41. const double eps = 1e-9;
  42. const double pi = acos(-1.0);
  43.  
  44. int n;
  45. char c;
  46. int p[100100];
  47. int rank[100100];
  48.  
  49. int get(int v){
  50. if(v == p[v]) return v;
  51. return v = p[v];
  52. }
  53.  
  54. void merge(int a, int b){
  55. a = get(a), b = get(b);
  56. if(a != b){
  57. if(rank[a] < rank[b]) swap(a, b);
  58. p[b] = a;
  59. rank[a] += rank[b];
  60. }
  61. }
  62.  
  63. int main(){
  64. ios_base::sync_with_stdio(0), cin.tie(0);
  65. cin >> n;
  66. for(int i = 1; i <= n; ++i){
  67. p[i] = 1;
  68. }
  69. for(int i = 1, x, y; i <= n; ++i){
  70. cin >> c;
  71. if(c == 'M'){
  72. cin >> x >> y;
  73. a[y] += a[x];
  74. a[x] = 0;
  75. }else{
  76. cin >> x;
  77. cout << rank[get(x)] << "\n";
  78. }
  79. }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement