Фон
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послідовності.
Виклик
Напишіть функцію чи програму, яка з урахуванням модифікованої дошки Googlegle B(будь-якого розміру) та рядка sвизначає, чи sможна її знайти на B.
Обмеження
Ваш код також повинен міститись на дошці Modified Boggle b. Тобто, ви повинні показати дошку bв поданому документі разом із кодом, щоб ваша функція / програма виводила справжнє, якщо вона задана, bа ваш код - як вхідний.
Оцінка балів
Оцінка вашого подання - це бічна довжина найменшої дошки, на bякій ви можете помістити код. Зв'язки розбиваються за звичайними правилами коду-гольфу , тобто довжиною коду в байтах. Виграє подання з найнижчою оцінкою (для обох критеріїв).
Наприклад, from itertools import*\nмає бал 4 (використовуючи дошку вище) та довжину коду 23 байти.
Вхід і вихід
Для введення ви можете скористатися будь-яким зручним методом і для, Bі для s. Сюди входить список знаків та список знаків, двовимірних або сплющених або що має сенс. Крім того, ви можете додатково прийняти розмір плати як частину введення.
Для виводу ви можете вибрати одне з наступних:
- Неправдиві і хибні значення, що відповідають умовам вашої мови, або
- Одне заздалегідь задане значення для істинного та помилкового відповідно.
Будь-ласка, вкажіть спосіб введення / виводу у своєму поданні.
+=+=щось подібне. Проблема полягає у ==функції виходу ...