10922. K-й шлях


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

У вас є таблиця з \(𝑁\) рядками та \(𝑀\) стовпцями. У кожному осередку таблиці записана одна мала літера англійського алфавіту. Розглянемо всі можливі шляхи від верхнього лівого кута до правого нижнього кута, якщо вам дозволено йти тільки вправо і вниз. Конкатенація букв у порядку обходу становлять рядок. Скажімо, цей рядок значення шляху. Тепер розглянемо такі шляхи і відсортуємо їх значення в алфавітному порядку.

Ваше завдання знайти значення \(𝐾\) -го шляху в цьому відсортованому листі.

Формат вхідних даних

У першому рядку задається два цілих числа \(𝑁\) - кількість рядів і \(𝑀\) - кількість стовпців заданої таблиці (\(1 ≤ 𝑁 , 𝑀 ≤ 30\)).

Кожен з наступних \(N\) рядків містить рівно \(M\) малих літер англійського алфавіту.

Останній рядок містить ціле число \(𝐾\) (\(1 ≤ 𝐾 ≤ 10^{18}\)). Гарантується, що для \(𝐾\) відповідь завжди існує.

Формат вихідних даних

Перший і останній рядок повинен містити один рядок - відповідь до завдання.

Пояснення до прикладу

abcdgk, abcdgk, abcdjk, abfdgk, abfdjk, abfijk, aefdgk, aefdjk, aefijk, aehijk

Приклад вхідних даних

3 4
abcd
efdg
hijk
4

Приклад вихідних даних

abfdgk

Коментарі

Ще немає коментарів.