Hypercube Hypercube
Moderate
EN JA Russian
Массивная дверь медленно открылась после того, как нарисованный ключ был принят и... Вот оно - Главное Хранилище! Вы проделали нелегкий путь, чтобы попасть сюда. Осталось совсем немного - и артефакт станет вашим.

Постамент, на котором стоял Гиперкуб совершенно не вписывался в стиль замка - это была высокотехнологичная колонна, над которой парил Куб, без видимой опоры, находясь в цилиндре голубоватого света. Вероятно, это было защитное поле, которое следовало отключить, чтобы взять Куб. “Неужели лорд Эшер и правда умер? Что, если он просто улетел на родную планету?..”, - подумали вы. Но на размышления не было времени. Нельзя было исключать вероятность того, что призрак владельца помешает вам на обратном пути, так что следовало поторопиться.

Когда вы подошли к Кубу на несколько шагов и уже готовы были протянуть к нему руку, то внезапно почувствовали, как уперлись в нечто невидимое, но при этом непроницаемое. Неужели Гиперкуб был окружен еще одним защитным полем?!
Ну что же, нужно найти способ отключить его.
Когда вы коснулись внешнего невидимого защитного поля, на нем появился прямоугольник, состоящий из букв. Пока вы рассматривали эти буквы, их набор успел измениться. Похоже, что каждые 10 секунд поле с буквами автоматически перестраивается и вам нужно дождаться момента, когда на поле можно будет отчетливо прочесть ‘Hypercube’ - в это короткое окно поле деактивируется и вы сможете пройти.
Ваша функция в качестве аргумента получает массив букв. Ваша задача - вернуть True, если в этом массиве можно прочесть слово ‘Hypercube’ и False, в ином случае. ‘Hypercube’ находится в массиве только в том случае, если слово “hypercube” может быть прочитано/составлено из неразрывной линии букв. При этом линия может изгибаться под углом 90 градусов, но не может идти по диагонали. Регистр букв не играет роли.

Входные данные: Массив букв.

Выходные данные: True или False.

Пример:

hypercube([
              ['g', 'f', 'H', 'Y', 'v'],
              ['z', 'e', 'a', 'P', 'u'],
              ['s', 'B', 'T', 'e', 'y'],
              ['k', 'u', 'c', 'R', 't'],
              ['l', 'O', 'k', 'p', 'r']]) == True
hypercube([
              ['H', 'a', 't', 's', 'E'],
              ['a',...

Для лексикографического анализа.

:
3х3 <= размер массива <= 5х5

You should be an authorized user in order to see the full description and start solving this mission.