Wataru, сначала по таблице из слова формируется исходная матрица, потом шифруется одним из 3 способов, нужно подобрать каким, а потом декодировать по таблице.
Wataru, вот матрица:
2 15 4 13
15 11 28 8
8 19 14 18
P.S. исходные элементы в диапазоне 1-9. Может, можно было бы просто перебрать, но я боюсь, что будет медленно.
Хак с таблицей ASCII работает на том, что после кода 48 (0), идут, логично, цифры, но после цифр начинаются не буквы, а знаки препинания, и поэтому с основанием больше 10 функция сломается.
А сломается она только если передать цифру больше 9, чего в примере нет.
Вроде. Эта реализация не работает с системами счисления с основанием больше десяти, потому что она завязана на таблице ASCII, и цифры больше 9 (16-ичного числа, например), просто не пройдут assert
В конце я решил задачу с помощью бинарного дерева и рекурсии. Левый наследник если едем вниз, правый - вверх. Строим если подходит под условия, и, если нет, просто рекурсией возвращаемся обратно. Число вершин и будет ответом.
mayton2019, а я просто дебажу, или пишу тесты. Но, действительно, какие-то промежуточные результаты тоже помогают. Но я пришел к выводу, что мне надо просто немного отдохнуть