Advertisement
Guest User

Untitled

a guest
Jun 24th, 2023
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. int main()
  5. {
  6.     uint32_t n;
  7.     std::cin >> n;
  8.  
  9.     std::vector<std::pair<uint32_t, uint32_t>> level{{0, 1}, { 1,0 }};
  10.     std::vector<std::pair<uint32_t, uint32_t>> next_level(3);
  11.     for (uint32_t i = 0; i < n; i++) {
  12.         uint32_t added = 0;
  13.         for (uint32_t j = 0; j < level.size() - 1; j++) {
  14.             next_level[j + added] = level[j];
  15.  
  16.             std::pair<uint32_t, uint32_t> left = level[j];
  17.             std::pair<uint32_t, uint32_t> right = level[j + 1];
  18.  
  19.             next_level[j + added + 1] = std::make_pair(left.first + right.first, left.second + right.second);
  20.             added++;
  21.         }
  22.  
  23.         next_level[level.size() - 1 + added] = level[level.size() - 1];
  24.         level = next_level;
  25.         next_level.erase(next_level.begin(), next_level.end());
  26.         next_level.resize(level.size() * 2 - 1);
  27.     }
  28.  
  29.     for (const std::pair<uint32_t, uint32_t>& fraction : level)
  30.         std::cout << fraction.first << "/" << fraction.second << " ";
  31.  
  32.     return 0;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement