Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- std::vector<std::string> strings;
- void add_str(size_t i, size_t j, const std::vector<std::vector<char>>& tab, std::string str = "") {
- if (i + 1 == tab.size() && j + 1 == tab[0].size()) {
- strings.push_back(str + tab[i][j]);
- } else if (i + 1 == tab.size()) {
- add_str(i, j + 1, tab, str + tab[i][j]);
- } else if (j + 1 == tab[0].size()) {
- add_str(i + 1, j, tab, str + tab[i][j]);
- } else {
- add_str(i, j + 1, tab, str + tab[i][j]);
- add_str(i + 1, j, tab, str + tab[i][j]);
- }
- }
- int main() {
- size_t n, m, l;
- std::cin >> n >> m;
- std::vector<std::vector<char>> tab(n, std::vector<char>(m));
- for (size_t i = 0; i < n; ++i) {
- for (size_t j = 0; j < m; ++j) {
- std::cin >> tab[i][j];
- }
- }
- add_str(0, 0, tab);
- std::sort(strings.begin(), strings.end());
- std::cin >> l;
- std::cout << strings[l - 1] << "\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement