Hydron

1.19

May 20th, 2022 (edited)
673
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. using ll = long long;
  6.  
  7. namespace Algo1_19{
  8.     void run(){
  9.         vector < vector < vector < ll > > > res;
  10.         ll n;
  11.         cin >> n;
  12.         res.push_back({{1}});
  13.         for (ll i=2; i<=n; i++){
  14.             vector < vector < vector < ll > > > tmp;
  15.             for (ll j=0; j<res.size(); j++){
  16.                 if (j&1){
  17.                     res[j].push_back({i});
  18.                     tmp.push_back(res[j]);
  19.                     res[j].pop_back();
  20.                     for (ll k=res[j].size()-1; k>-1; k--){
  21.                         res[j][k].push_back(i);
  22.                         tmp.push_back(res[j]);
  23.                         res[j][k].pop_back();
  24.                     }
  25.                 }else{
  26.                     for (ll k=0; k<res[j].size(); k++){
  27.                         res[j][k].push_back(i);
  28.                         tmp.push_back(res[j]);
  29.                         res[j][k].pop_back();
  30.                     }
  31.                     res[j].push_back({i});
  32.                     tmp.push_back(res[j]);
  33.                     res[j].pop_back();
  34.                 }
  35.             }
  36.             res = tmp;
  37.         }
  38.         for (vector<vector<ll>> &i: res){
  39.             for (vector<ll> &j: i){
  40.                 cout << '{';
  41.                 for (ll &k: j){
  42.                     cout << k << " }"[k==j.back()];
  43.                 }
  44.             }
  45.             cout << '\n';
  46.         }
  47.     }
  48. }
RAW Paste Data Copied