fork download
  1. //i hate _____
  2. #include<bits/stdc++.h>
  3. #include<ext/pb_ds/assoc_container.hpp>
  4. #include<ext/pb_ds/tree_policy.hpp>
  5. #include<ext/pb_ds/detail/standard_policies.hpp>
  6.  
  7. using namespace __gnu_pbds;
  8. using namespace std;
  9.  
  10. #define ll long long int
  11. #define lll __int128_t
  12. #define ld long double
  13. #define pb push_back
  14. #define ii pair<int,int>
  15. #define endl "\n"
  16. double pi = 2 * acos(0.0) ;
  17.  
  18. template<typename T>
  19. ostream& operator<<(ostream &os, const vector<T> &v) {
  20. os << '{';
  21. for (const auto &x : v) os << " " << x;
  22. return os << '}';
  23. }
  24.  
  25. typedef tree<
  26. int,
  27. null_type,
  28. less<int>,
  29. rb_tree_tag,
  30. tree_order_statistics_node_update>
  31. ordered_set;
  32.  
  33. bool check(vector<int>&a){
  34. int n = a.size();
  35. for (int i = 0; i < n; i++) {
  36. bool ok = true;
  37. for (int j = i + 1; j < n; j++) {
  38. if (a[i] < a[i + 1] && a[i] < a[j]) continue;
  39. if (a[i] > a[i + 1] && a[i] > a[j]) continue;
  40. ok = false;
  41. }
  42. if (!ok) return false;
  43. }
  44. return true;
  45. }
  46.  
  47. void promod(){
  48. int n = 9;
  49. // cin >> n;
  50. vector<int>a;
  51. for (int i = 1; i <= n; i++) {
  52. a.pb(i);
  53. }
  54. int cnt = 0;
  55. set<vector<int>>s;
  56. do {
  57. if (check(a))
  58. s.insert(a);
  59. }while (next_permutation(a.begin(), a.end()));
  60. for (auto it : s)
  61. cout << it << endl;
  62. }
  63.  
  64. int main()
  65. {
  66. ios_base::sync_with_stdio(false);
  67. cin.tie(NULL); cout.tie(NULL);
  68.  
  69.  
  70.  
  71. int test_cases = 1;
  72. // cin >> test_cases;
  73.  
  74. for (int tc = 1 ; tc <= test_cases ; tc++){
  75.  
  76. //cout << "Case " << tc << ": ";
  77. promod();
  78. //printf("Case %d: %.10lf\n",tc,ans);
  79.  
  80. }
  81.  
  82. return 0;
  83. }
  84. /*
  85.   problems are the sign of life
  86. */
  87.  
Success #stdin #stdout 0.02s 5292KB
stdin
Standard input is empty
stdout
{ 1 2 3 4 5 6 7 8 9}
{ 1 2 3 4 5 6 7 9 8}
{ 1 2 3 4 5 6 9 7 8}
{ 1 2 3 4 5 6 9 8 7}
{ 1 2 3 4 5 9 6 7 8}
{ 1 2 3 4 5 9 6 8 7}
{ 1 2 3 4 5 9 8 6 7}
{ 1 2 3 4 5 9 8 7 6}
{ 1 2 3 4 9 5 6 7 8}
{ 1 2 3 4 9 5 6 8 7}
{ 1 2 3 4 9 5 8 6 7}
{ 1 2 3 4 9 5 8 7 6}
{ 1 2 3 4 9 8 5 6 7}
{ 1 2 3 4 9 8 5 7 6}
{ 1 2 3 4 9 8 7 5 6}
{ 1 2 3 4 9 8 7 6 5}
{ 1 2 3 9 4 5 6 7 8}
{ 1 2 3 9 4 5 6 8 7}
{ 1 2 3 9 4 5 8 6 7}
{ 1 2 3 9 4 5 8 7 6}
{ 1 2 3 9 4 8 5 6 7}
{ 1 2 3 9 4 8 5 7 6}
{ 1 2 3 9 4 8 7 5 6}
{ 1 2 3 9 4 8 7 6 5}
{ 1 2 3 9 8 4 5 6 7}
{ 1 2 3 9 8 4 5 7 6}
{ 1 2 3 9 8 4 7 5 6}
{ 1 2 3 9 8 4 7 6 5}
{ 1 2 3 9 8 7 4 5 6}
{ 1 2 3 9 8 7 4 6 5}
{ 1 2 3 9 8 7 6 4 5}
{ 1 2 3 9 8 7 6 5 4}
{ 1 2 9 3 4 5 6 7 8}
{ 1 2 9 3 4 5 6 8 7}
{ 1 2 9 3 4 5 8 6 7}
{ 1 2 9 3 4 5 8 7 6}
{ 1 2 9 3 4 8 5 6 7}
{ 1 2 9 3 4 8 5 7 6}
{ 1 2 9 3 4 8 7 5 6}
{ 1 2 9 3 4 8 7 6 5}
{ 1 2 9 3 8 4 5 6 7}
{ 1 2 9 3 8 4 5 7 6}
{ 1 2 9 3 8 4 7 5 6}
{ 1 2 9 3 8 4 7 6 5}
{ 1 2 9 3 8 7 4 5 6}
{ 1 2 9 3 8 7 4 6 5}
{ 1 2 9 3 8 7 6 4 5}
{ 1 2 9 3 8 7 6 5 4}
{ 1 2 9 8 3 4 5 6 7}
{ 1 2 9 8 3 4 5 7 6}
{ 1 2 9 8 3 4 7 5 6}
{ 1 2 9 8 3 4 7 6 5}
{ 1 2 9 8 3 7 4 5 6}
{ 1 2 9 8 3 7 4 6 5}
{ 1 2 9 8 3 7 6 4 5}
{ 1 2 9 8 3 7 6 5 4}
{ 1 2 9 8 7 3 4 5 6}
{ 1 2 9 8 7 3 4 6 5}
{ 1 2 9 8 7 3 6 4 5}
{ 1 2 9 8 7 3 6 5 4}
{ 1 2 9 8 7 6 3 4 5}
{ 1 2 9 8 7 6 3 5 4}
{ 1 2 9 8 7 6 5 3 4}
{ 1 2 9 8 7 6 5 4 3}
{ 1 9 2 3 4 5 6 7 8}
{ 1 9 2 3 4 5 6 8 7}
{ 1 9 2 3 4 5 8 6 7}
{ 1 9 2 3 4 5 8 7 6}
{ 1 9 2 3 4 8 5 6 7}
{ 1 9 2 3 4 8 5 7 6}
{ 1 9 2 3 4 8 7 5 6}
{ 1 9 2 3 4 8 7 6 5}
{ 1 9 2 3 8 4 5 6 7}
{ 1 9 2 3 8 4 5 7 6}
{ 1 9 2 3 8 4 7 5 6}
{ 1 9 2 3 8 4 7 6 5}
{ 1 9 2 3 8 7 4 5 6}
{ 1 9 2 3 8 7 4 6 5}
{ 1 9 2 3 8 7 6 4 5}
{ 1 9 2 3 8 7 6 5 4}
{ 1 9 2 8 3 4 5 6 7}
{ 1 9 2 8 3 4 5 7 6}
{ 1 9 2 8 3 4 7 5 6}
{ 1 9 2 8 3 4 7 6 5}
{ 1 9 2 8 3 7 4 5 6}
{ 1 9 2 8 3 7 4 6 5}
{ 1 9 2 8 3 7 6 4 5}
{ 1 9 2 8 3 7 6 5 4}
{ 1 9 2 8 7 3 4 5 6}
{ 1 9 2 8 7 3 4 6 5}
{ 1 9 2 8 7 3 6 4 5}
{ 1 9 2 8 7 3 6 5 4}
{ 1 9 2 8 7 6 3 4 5}
{ 1 9 2 8 7 6 3 5 4}
{ 1 9 2 8 7 6 5 3 4}
{ 1 9 2 8 7 6 5 4 3}
{ 1 9 8 2 3 4 5 6 7}
{ 1 9 8 2 3 4 5 7 6}
{ 1 9 8 2 3 4 7 5 6}
{ 1 9 8 2 3 4 7 6 5}
{ 1 9 8 2 3 7 4 5 6}
{ 1 9 8 2 3 7 4 6 5}
{ 1 9 8 2 3 7 6 4 5}
{ 1 9 8 2 3 7 6 5 4}
{ 1 9 8 2 7 3 4 5 6}
{ 1 9 8 2 7 3 4 6 5}
{ 1 9 8 2 7 3 6 4 5}
{ 1 9 8 2 7 3 6 5 4}
{ 1 9 8 2 7 6 3 4 5}
{ 1 9 8 2 7 6 3 5 4}
{ 1 9 8 2 7 6 5 3 4}
{ 1 9 8 2 7 6 5 4 3}
{ 1 9 8 7 2 3 4 5 6}
{ 1 9 8 7 2 3 4 6 5}
{ 1 9 8 7 2 3 6 4 5}
{ 1 9 8 7 2 3 6 5 4}
{ 1 9 8 7 2 6 3 4 5}
{ 1 9 8 7 2 6 3 5 4}
{ 1 9 8 7 2 6 5 3 4}
{ 1 9 8 7 2 6 5 4 3}
{ 1 9 8 7 6 2 3 4 5}
{ 1 9 8 7 6 2 3 5 4}
{ 1 9 8 7 6 2 5 3 4}
{ 1 9 8 7 6 2 5 4 3}
{ 1 9 8 7 6 5 2 3 4}
{ 1 9 8 7 6 5 2 4 3}
{ 1 9 8 7 6 5 4 2 3}
{ 1 9 8 7 6 5 4 3 2}
{ 9 1 2 3 4 5 6 7 8}
{ 9 1 2 3 4 5 6 8 7}
{ 9 1 2 3 4 5 8 6 7}
{ 9 1 2 3 4 5 8 7 6}
{ 9 1 2 3 4 8 5 6 7}
{ 9 1 2 3 4 8 5 7 6}
{ 9 1 2 3 4 8 7 5 6}
{ 9 1 2 3 4 8 7 6 5}
{ 9 1 2 3 8 4 5 6 7}
{ 9 1 2 3 8 4 5 7 6}
{ 9 1 2 3 8 4 7 5 6}
{ 9 1 2 3 8 4 7 6 5}
{ 9 1 2 3 8 7 4 5 6}
{ 9 1 2 3 8 7 4 6 5}
{ 9 1 2 3 8 7 6 4 5}
{ 9 1 2 3 8 7 6 5 4}
{ 9 1 2 8 3 4 5 6 7}
{ 9 1 2 8 3 4 5 7 6}
{ 9 1 2 8 3 4 7 5 6}
{ 9 1 2 8 3 4 7 6 5}
{ 9 1 2 8 3 7 4 5 6}
{ 9 1 2 8 3 7 4 6 5}
{ 9 1 2 8 3 7 6 4 5}
{ 9 1 2 8 3 7 6 5 4}
{ 9 1 2 8 7 3 4 5 6}
{ 9 1 2 8 7 3 4 6 5}
{ 9 1 2 8 7 3 6 4 5}
{ 9 1 2 8 7 3 6 5 4}
{ 9 1 2 8 7 6 3 4 5}
{ 9 1 2 8 7 6 3 5 4}
{ 9 1 2 8 7 6 5 3 4}
{ 9 1 2 8 7 6 5 4 3}
{ 9 1 8 2 3 4 5 6 7}
{ 9 1 8 2 3 4 5 7 6}
{ 9 1 8 2 3 4 7 5 6}
{ 9 1 8 2 3 4 7 6 5}
{ 9 1 8 2 3 7 4 5 6}
{ 9 1 8 2 3 7 4 6 5}
{ 9 1 8 2 3 7 6 4 5}
{ 9 1 8 2 3 7 6 5 4}
{ 9 1 8 2 7 3 4 5 6}
{ 9 1 8 2 7 3 4 6 5}
{ 9 1 8 2 7 3 6 4 5}
{ 9 1 8 2 7 3 6 5 4}
{ 9 1 8 2 7 6 3 4 5}
{ 9 1 8 2 7 6 3 5 4}
{ 9 1 8 2 7 6 5 3 4}
{ 9 1 8 2 7 6 5 4 3}
{ 9 1 8 7 2 3 4 5 6}
{ 9 1 8 7 2 3 4 6 5}
{ 9 1 8 7 2 3 6 4 5}
{ 9 1 8 7 2 3 6 5 4}
{ 9 1 8 7 2 6 3 4 5}
{ 9 1 8 7 2 6 3 5 4}
{ 9 1 8 7 2 6 5 3 4}
{ 9 1 8 7 2 6 5 4 3}
{ 9 1 8 7 6 2 3 4 5}
{ 9 1 8 7 6 2 3 5 4}
{ 9 1 8 7 6 2 5 3 4}
{ 9 1 8 7 6 2 5 4 3}
{ 9 1 8 7 6 5 2 3 4}
{ 9 1 8 7 6 5 2 4 3}
{ 9 1 8 7 6 5 4 2 3}
{ 9 1 8 7 6 5 4 3 2}
{ 9 8 1 2 3 4 5 6 7}
{ 9 8 1 2 3 4 5 7 6}
{ 9 8 1 2 3 4 7 5 6}
{ 9 8 1 2 3 4 7 6 5}
{ 9 8 1 2 3 7 4 5 6}
{ 9 8 1 2 3 7 4 6 5}
{ 9 8 1 2 3 7 6 4 5}
{ 9 8 1 2 3 7 6 5 4}
{ 9 8 1 2 7 3 4 5 6}
{ 9 8 1 2 7 3 4 6 5}
{ 9 8 1 2 7 3 6 4 5}
{ 9 8 1 2 7 3 6 5 4}
{ 9 8 1 2 7 6 3 4 5}
{ 9 8 1 2 7 6 3 5 4}
{ 9 8 1 2 7 6 5 3 4}
{ 9 8 1 2 7 6 5 4 3}
{ 9 8 1 7 2 3 4 5 6}
{ 9 8 1 7 2 3 4 6 5}
{ 9 8 1 7 2 3 6 4 5}
{ 9 8 1 7 2 3 6 5 4}
{ 9 8 1 7 2 6 3 4 5}
{ 9 8 1 7 2 6 3 5 4}
{ 9 8 1 7 2 6 5 3 4}
{ 9 8 1 7 2 6 5 4 3}
{ 9 8 1 7 6 2 3 4 5}
{ 9 8 1 7 6 2 3 5 4}
{ 9 8 1 7 6 2 5 3 4}
{ 9 8 1 7 6 2 5 4 3}
{ 9 8 1 7 6 5 2 3 4}
{ 9 8 1 7 6 5 2 4 3}
{ 9 8 1 7 6 5 4 2 3}
{ 9 8 1 7 6 5 4 3 2}
{ 9 8 7 1 2 3 4 5 6}
{ 9 8 7 1 2 3 4 6 5}
{ 9 8 7 1 2 3 6 4 5}
{ 9 8 7 1 2 3 6 5 4}
{ 9 8 7 1 2 6 3 4 5}
{ 9 8 7 1 2 6 3 5 4}
{ 9 8 7 1 2 6 5 3 4}
{ 9 8 7 1 2 6 5 4 3}
{ 9 8 7 1 6 2 3 4 5}
{ 9 8 7 1 6 2 3 5 4}
{ 9 8 7 1 6 2 5 3 4}
{ 9 8 7 1 6 2 5 4 3}
{ 9 8 7 1 6 5 2 3 4}
{ 9 8 7 1 6 5 2 4 3}
{ 9 8 7 1 6 5 4 2 3}
{ 9 8 7 1 6 5 4 3 2}
{ 9 8 7 6 1 2 3 4 5}
{ 9 8 7 6 1 2 3 5 4}
{ 9 8 7 6 1 2 5 3 4}
{ 9 8 7 6 1 2 5 4 3}
{ 9 8 7 6 1 5 2 3 4}
{ 9 8 7 6 1 5 2 4 3}
{ 9 8 7 6 1 5 4 2 3}
{ 9 8 7 6 1 5 4 3 2}
{ 9 8 7 6 5 1 2 3 4}
{ 9 8 7 6 5 1 2 4 3}
{ 9 8 7 6 5 1 4 2 3}
{ 9 8 7 6 5 1 4 3 2}
{ 9 8 7 6 5 4 1 2 3}
{ 9 8 7 6 5 4 1 3 2}
{ 9 8 7 6 5 4 3 1 2}
{ 9 8 7 6 5 4 3 2 1}