fork download
  1. /*
  2. Phạm Hoàng Tiến - 20230071
  3. Em có sử dụng Mersenne Twister vì hàm rand() bình thường sẽ ra 1 chuỗi số cố định, nên không phù hợp
  4. Article:
  5. https://c...content-available-to-author-only...s.com/reference/random/mt19937/
  6. */
  7.  
  8. #include <bits/stdc++.h>
  9.  
  10. using namespace std;
  11.  
  12. mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
  13.  
  14. int n;
  15.  
  16. int abs (int x)
  17. {
  18. if (x < 0) return -x;
  19. return x;
  20. }
  21.  
  22. //trả về số ngẫu nhiên trong khoảng từ l đến r
  23. int rng(int l, int r)
  24. {
  25. return l + abs((int)(rnd())) % (r - l + 1);
  26. }
  27.  
  28. int main()
  29. {
  30. //freopen("ktlt.txt", "w", stdout);
  31.  
  32. cin >> n;
  33. cout << n << "\n";
  34.  
  35. int pre = 100;
  36. int x, y, m, cur;
  37. while (n--)
  38. {
  39. m = rng(1, 10);
  40.  
  41. cur = rng(1, 100);
  42. cout << cur << "\n";
  43.  
  44. vector<int> vx, vy;
  45.  
  46. vx.push_back(rng(1, 100));
  47. vy.push_back(rng(1, pre - 1));
  48.  
  49. for (int i = 2; i <= m; i++)
  50. {
  51. vx.push_back(rng(1, 100));
  52. vy.push_back(rng(1, 100));
  53. }
  54.  
  55. sort(vy.begin(), vy.end());
  56.  
  57. if (vy[m - 1] == 1) vy[m - 1]++;
  58. pre = vy[m - 1];
  59.  
  60. for (int i = 0; i < m; i++) cout << vx[i] << " " << vy[i] << "\n";
  61.  
  62. }
  63. }
Success #stdin #stdout 0s 5288KB
stdin
2
stdout
2
77
11 5
14 33
92 95
91
78 3
51 26
22 91