Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- int main()
- {
- uint32_t n;
- std::cin >> n;
- std::vector<std::pair<uint32_t, uint32_t>> level{{0, 1}, { 1,0 }};
- std::vector<std::pair<uint32_t, uint32_t>> next_level(3);
- for (uint32_t i = 0; i < n; i++) {
- uint32_t added = 0;
- for (uint32_t j = 0; j < level.size() - 1; j++) {
- next_level[j + added] = level[j];
- std::pair<uint32_t, uint32_t> left = level[j];
- std::pair<uint32_t, uint32_t> right = level[j + 1];
- next_level[j + added + 1] = std::make_pair(left.first + right.first, left.second + right.second);
- added++;
- }
- next_level[level.size() - 1 + added] = level[level.size() - 1];
- level = next_level;
- next_level.erase(next_level.begin(), next_level.end());
- next_level.resize(level.size() * 2 - 1);
- }
- for (const std::pair<uint32_t, uint32_t>& fraction : level)
- std::cout << fraction.first << "/" << fraction.second << " ";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement