KIS_problem

chmod 755 test.sh

./test.sh

Tests:

  1. sharks.txt, tasc => 60
  2. tenet_review.txt, car => 751
  3. tenet_review.txt, sawit => 84
  4. radio.txt, cacc => 432

Algo:

Решение основывается на методе динамического программирования. Рассматривая очередное слово, посмотрим i-ую букву key_word и букву на i-ой позиции в current_word. Так мы предполаем что это слово должно быть i-ым в шифре.

Если буквы совпадают, то увеличим число совпадений для этой позиции шифра.

После просмотра очередного слова, переходя к следущему сдвинем вправо массив dp, чтобы корректно обработать следующее слово, так как в нем уже нужно будет смотреть буквы на позициях +1 от предыдущего, и обнулим dp[0], чтобы начать новый ряд слов.

Если в какой то момент мы получили совпадение букв равное длину key_word, то мы нашли ответ на позиции words_cnt - длина key_word в 0 индексации.

Если за весь текст, шифр с заданным ключевым словом не найден, то вернем -1.