DanilaG

Untitled

Jun 15th, 2019
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. #include <iostream>
  2. #include <array>
  3. #include <vector>
  4.  
  5. std::string s = "aaaab";
  6.  
  7. std::array<size_t, 255> count_l = {0};
  8.  
  9. std::vector<unsigned char> stack;
  10.  
  11. void stack_write_up() {
  12.     for (auto i : stack) {
  13.         std::cout << i;
  14.     }
  15. }
  16.  
  17. void stack_write_down() {
  18.     for (int i = stack.size() - 1; i >= 0; i--) {
  19.         std::cout << stack[i];
  20.     }
  21. }
  22.  
  23. void write_pol() {
  24.     for (int i = 0; i < 255; i++) {
  25.         if (count_l[i] >= 1) {
  26.             stack_write_up();
  27.             std::cout << (char)i;
  28.             stack_write_down();
  29.             std::cout << std::endl;
  30.             if (count_l[i] == 1) {
  31.                 continue;
  32.             }
  33.             count_l[i] -= 2;
  34.             stack.push_back((unsigned char) i);
  35.             stack_write_up();
  36.             stack_write_down();
  37.             std::cout << std::endl;
  38.             write_pol();
  39.             stack.pop_back();
  40.             count_l[i] += 2;
  41.         }
  42.     }
  43. }
  44.  
  45. int main() {
  46.     for (auto i : s) {
  47.         count_l[i]++;
  48.     }
  49.     write_pol();
  50.     return 0;
  51. }
Add Comment
Please, Sign In to add comment