Фон
Boggle - настольная игра, в которой игроки должны находить английские слова на доске случайных алфавитов 4 на 4. Слова могут быть построены путем выбора последовательно смежных ячеек на доске. («смежный» означает смежный по горизонтали, вертикали или диагонали.) Кроме того, одну и ту же ячейку нельзя использовать более одного раза в слове.
Ниже приведен пример платы:
I L A W
B N G E
I U A O
A S R L
На этой плате BINGO, ORANGEи WEARSявляются действительными словами, но SURGEи RUSSIAне являются:
SURGE: На доске нет соседней парыRG.RUSSIA:Sнельзя использовать дважды.
Modified Boggle - это модифицированная версия Boggle со следующими правилами:
- Размер доски
n-by-n, гдеnможет быть любое положительное целое число. - Каждая ячейка может содержать любой один байт от 0 до 255 включительно.
- Ячейка может использоваться более одного раза, но не два раза подряд .
Использование приведенного выше примера доски, в дополнение к BINGO, ORANGEи WEARS, LANGUAGEстановится допустимой строкой (поскольку Gиспользуется дважды, но не дважды подряд), но RUSSIAпо-прежнему нет (из-за SSпары).
Вот еще один пример использования фрагмента кода. Строка from itertools import*\nможет быть найдена на следующей доске, но не from itertoosl import*или from itertools import *:
f i ' ' s
r t m l
e o o p
\n * t r
Обратите внимание, что вам нужно два o, чтобы соответствовать ooпоследовательности.
Вызов
Напишите функцию или программу, которая по заданной доске Modified Boggle B(любого размера) и строке sопределяет, sможно ли ее найти B.
ограничения
Ваш код должен также помещаться на платформе Modified Boggle b. Таким образом, вы должны показать доску bв вашем представлении вместе с вашим кодом, чтобы ваша функция / программа выводила значение true, если оно задано, bи ваш код в качестве ввода.
счет
Оценка вашего представления - это длина стороны самой маленькой доски, bгде вы можете разместить свой код. Связи нарушаются обычными правилами игры в код , т.е. длиной вашего кода в байтах. Представление с самым низким баллом (по обоим критериям) выигрывает.
Например, from itertools import*\nимеет оценку 4 (используя плату выше) и длину кода 23 байта.
Вход и выход
Для ввода, вы можете взять любой удобный метод , как Bи s. Это включает в себя список символов и список кодов, 2D или плоский или все, что имеет смысл. Кроме того, вы можете при желании принять размер платы как часть ввода.
Для вывода вы можете выбрать один из следующих:
- Истинные и ложные значения в соответствии с соглашением вашего языка, или
- Одно предопределенное значение для true и false соответственно.
Пожалуйста, укажите ваш метод ввода / вывода в вашем представлении.
+=+=что-то вроде этого. Проблема заключается в ==функции вывода ...