Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. #define _ijps 0
  2. #define _CRT_SECURE_NO_DEPRECATE
  3. //#pragma comment(linker, "/STACK:667772160")
  4. #include <iostream>
  5. #include <cmath>
  6. #include <vector>
  7. #include <time.h>
  8. #include <map>
  9. #include <set>
  10. #include <deque>
  11. #include <cstdio>
  12. #include <cstdlib>
  13. #include <unordered_map>
  14. #include <bitset>
  15. #include <algorithm>
  16. #include <string>
  17. #include <fstream>
  18. #include <assert.h>
  19. #include <list>
  20. #include <cstring>
  21. using namespace std;
  22.  
  23. #define name ""
  24. typedef unsigned long long ull;
  25. typedef long long ll;
  26. #define mk make_pair
  27. #define forn(i, n) for(ll i = 0; i < (ll)n; i++)
  28. #define fornn(i, q, n) for(ll i = (ll)q; i < (ll)n; i++)
  29. #define times clock() * 1.0 / CLOCKS_PER_SEC
  30.  
  31. struct __isoff{
  32. __isoff(){
  33. if (_ijps)
  34. freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout);//, freopen("test.txt", "w", stderr);
  35. //else freopen(name".in", "r", stdin), freopen(name".out", "w", stdout);
  36. //ios_base::sync_with_stdio(0);
  37. //srand(time(0));
  38. srand('C' + 'T' + 'A' + 'C' + 'Y' + 'M' + 'B' + 'A');
  39. }
  40. ~__isoff(){
  41. //if(_ijps) cout<<times<<'\n';
  42. }
  43. } __osafwf;
  44. const ull p1 = 131;
  45. const ull p2 = 129;
  46. const double eps = 1e-8;
  47. const double pi = acos(-1.0);
  48.  
  49. const int infi = 1e9 + 7;
  50. const ll inf = 1e18 + 7;
  51. const ll dd = 2e5 + 7;
  52. const ll mod = 1e9 + 7;
  53.  
  54. vector<int> P;
  55. int T = 0;
  56.  
  57. int fi(int a){
  58. T++;
  59. if(P[a] == a){
  60. return a;
  61. }
  62. return P[a] = fi(P[a]);
  63. }
  64.  
  65. int l = 0;
  66.  
  67. int get(int a){
  68. if(P[a] == a){
  69. return 0;
  70. }
  71. return get(P[a]) + 1;
  72. }
  73. int main(){
  74. int n, m;
  75. cin >> n >> m;
  76. P.resize(n + 1);
  77. forn(i, n + 1){
  78. P[(int)i] = (int)i;
  79. }
  80. int e = 1, g = 2;
  81. forn(i, m / 2){
  82. cout << "1 " << g << ' ' << e << '\n';
  83. P[e] = g;
  84. e = g;
  85. g++;
  86.  
  87. vector<pair<int, int> > Q(1, mk(0, n));
  88. fornn(i, 1, min(g, 1050)){ // просто ищу максимум
  89. int t = get((int)i);
  90. Q.push_back(mk(t, (int)i));
  91. sort(Q.begin(), Q.end());
  92. reverse(Q.begin(), Q.end());
  93. Q.pop_back();
  94. }
  95. int ee = Q[0].second;
  96.  
  97.  
  98. fi(ee);
  99. fi(n);
  100.  
  101. cout << "0 " << ee << ' ' << n << '\n';
  102. }
  103. if(m % 2){
  104. cout << "0 1 2\n";
  105. }
  106.  
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement