Модифікована програма перевірки, із модифікованим кодом, який може працювати з Googlegle


19

Фон

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. Сюди входить список знаків та список знаків, двовимірних або сплющених або що має сенс. Крім того, ви можете додатково прийняти розмір плати як частину введення.

Для виводу ви можете вибрати одне з наступних:

  • Неправдиві і хибні значення, що відповідають умовам вашої мови, або
  • Одне заздалегідь задане значення для істинного та помилкового відповідно.

Будь-ласка, вкажіть спосіб введення / виводу у своєму поданні.


Я підозрюю, що якийсь езоланг, у якого є дуже крихітна гарнітура, яка вміститься на 2x2, виграє xD
HyperNeutrino

І будь-яка програма Unary збирається набрати 4, але майже гарантовано програє через правило зв'язання проти мови, ефективно використовуючи 4 різних символи.
Арнольд

@Arnauld Я думав, може бути, крихітний BF, і коли вам потрібні два суміжні символи, ви просто робите +=+=щось подібне. Проблема полягає у ==функції виходу ...
HyperNeutrino

2
@ l4m2 Розв’язування такою мовою завжди вітається, але остерігайтеся попередження Джо Кінга вище.
Бубон

3
Це дійсно обмежене джерело ? Я думаю, що це просто дворазовий виклик (більше для мов, що не займаються гольфом), де ви повинні знайти і код, і найменшу можливу дошку Boggle, в яку вписується код.
Ерік Аутгольфер

Відповіді:


10

Python 2, оцінка 3, 20972 байт

exec'cecxc%c'%(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)+…

Повний код - це результат: Спробуйте в Інтернеті!

Міститься на дошці Boggle:

e x (
c % 1
' + )

Розшифровує та виконує цю програму:

cecxc=any
c,cec=input()
cxec=len(c)
cexec=lambda    cxc,cexc,c,cec:cexc<=''or   cxc[cec][c]==cexc[0]>0<cecxc(cexec(cxc,cexc[1:],cxcxc,cxcec)for cxcxc   in(c-(c>0),c,c+(+1+c<cxec))for  cxcec   in(cec-(cec>0),cec,cec+(+1+cec<cxec))if(cxcxc,cxcec)!=(c,cec))
cxc=range(cxec)
print   cecxc(cexec(c,cec,cexc,cxec)for cexc    in  cxc for cxec    in  cxc)

Що приймає дані, як: ['ILAW','BNGE','IUAO','ASRL'], 'LANGUAGE'


Гм, схоже, я знайшов спосіб це зробити в Jelly.
Ерік Аутгольфер

5

CJam , оцінка 2, 9351 байт

'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))~'))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))~'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))~'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))~

Спробуйте в Інтернеті! Очікує введення типу:

["ILWA" "BNGE" "IUAO" "ASRL"]
LANGUAGE

і поміщається на дошці Boggle:

' )
~ )

Конструює рядок, l~:Q,:K;{\:Y;\:X;:C,!_{;QY=X=C0==_{;[X(XX)]K,&[Y(YY)]K,&m*[XY]a-C1>:D;{~DF}%:|}&}|}:F;l:R;K,2m*{~RF}%:|~потім оцінює її як код CJam.


Якщо десь не існує вбудованого (я дивлюся на вас, Mathematica), оцінка 2 є найнижчою, яку ви можете отримати. Тож тепер завдання полягає в тому, щоб зробити коротший варіант такого ж розміру.
Інженер Тост

@EngineerToast Не будь-який вбудований. Він повинен бути вбудованим в 1 байт, тому що ви не можете використовувати один і той же простір помилок більше одного разу поспіль.
mbomb007

@ mbomb007 Це саме те, що я мав на увазі, але я прямо не сказав цього. Роз'яснення виключає такі мови, як унарська або що-небудь ще, що повторюється саме тим самим символом.
Інженер Тост

3

Очистити , оцінка 12 (175 байт)

(Це майже напевно перевершить езоланг і, мабуть, і звичайні мови.)

import StdEnv;>[]_ _ _ _=True;>[c:s]i j n a=i<n&&j<n&&i>=0&&j>=0&&a.[i,j]==c&&or[>s k l n a\\k<-[i-1..i+1],l<-[j-1..j+1]|i<>k||j<>l];$n c a=or[>c i j n a\\i<-[0..n],j<-[0..n]]

Це визначає функцію, $ :: Int [Char] {#String} -> Boolяка перевіряє, чи можна знайти другий аргумент (слово) у третьому аргументі (дошці), задавши перший аргумент як ширину.

На дошці, на якій це вміщується (див. Нижче), *позначаються невикористані місця. Є 16 з них, на платі розміром 12 × 12 = 144, тобто 128 ефективно використовуються (в ефективності на 175/128 ≈ 1,37 ). Можливо, отримати таку ж програму на 11 × 11, але це все робиться вручну і дуже нудно; мій начальник, ймовірно, не був би радий, якби я спробував отримати його на 11 × 11.

* * & & * * * * * * * ;
s [ n < j * * u r T > v
  > r & i > * e =   [ n
l k o & 0 = n   ; _ ] E
  & a . = ] a j i > [ d
a n & c [ j . + ] s c t
\ k < - i , - . 1 | : S
\ * 1 l . + 1 = i j |  
[ i \ . , ] o a < > k t
0 - < \ a   r >   l ] r
. j , * n j [ i c $ ; o
. n ] ] * *     n i m p

Спробуйте в режимі он-лайн (із самою програмою як вхід)!


2

Java, оцінка 23, 538 507 байт

NSFW

import java.util.function.*;import java.util.stream.*;class B{static BiFunction<char[][],String,BiFunction<Integer,Integer,Byte>>f;{f=(b,s)->(i,j)->{try{if(b[i][j]!=s.charAt(0))return 0;}catch(Exception e){return 0;}if(s.length()<2)return 1;byte t=0;for(int k=9;k-->1;){t|=f.apply(b,s.substring(1)).apply(i+~k%3+1,j+~(k/3)%3+1);}return t;};BiFunction<char[][],String,Byte>g=(b,s)->{int l=b.length;return (byte)IntStream.range(0,l*l).map(i->f.apply(b,s).apply(i%l,i/l)).reduce((x,y)->x+y-x*y).getAsInt();};}}

Спробуйте в Інтернеті!

Складено з JDK 9, але має працювати з 8.

Я не знав, що робити з імпортом і статичним полем (що насправді необхідно), тому я вирішив просто взяти весь клас і вставити лямбда в ініціалізатор. Потім лямбда gможе бути застосована до двовимірного масиву та рядку і повертається, 1якщо рядок знаходиться на дошці, а 0якщо ні (на Byte3 символи коротше, ніж Integer).

Подяка цьому хлопцеві за (в моєму випадку) коротший спосіб жорсткого кодування для адреси сусідніх комірок.

Десь у прогресі створення цієї жахливості я вклав гроші в роботу з лямбдами, але вона ставала все гірше і гірше, поки це не сталося. Він навіть не наближається до інших відповідей, і, мабуть, навіть не наближається до оптимального рішення на Java, але ей, він досить акуратно вписується на плату 23x23 (що не є оптимальним, але, можливо, ближче, ніж сама програма) :

duce((x,y)->x+y-x*y).ge
e l=b.length;return (bt
rt3+1,j+~(k/3)%3+1);}yA
.n%te t=0;for(int k=rts
)iky0;}catchExcepti9e)I
){~b (b,s)->(i,j)-o;tIn
l>+;n=ring,iFunct>nkunt
/-i1rftass B{stai{ -rt(
i)( u{Slport jatote-nS)
,synt;,cmutil.vinr)> t;
l,lref];i.porfac<y{1tr}
%bpur>[*;amitu. I{r;}e;
i(pt)>].*vaj nuBnie);a}
y=ae)e[m.noitctitft{Bm}
lg.r0traerts.liFe(uti.}
p>))(yhc<noitcnugbr|Fr 
pe12tB,regetnI,re[n=ua 
at(<Arahc.s=!]j[]i fng 
.yg)(htgnel.s(fi};0.ce 
)Bnirtsbus.s,b(ylppat( 
s,gnirtS,][][rahc<noi0 
,b(ylppa.f>-i(pm.)l*l,                            

Звичайно, на той момент не було сенсу намагатися зробити це вручну. Отже, як бонус, ось (наївна) функція, яку я використовував для стискання коду на дошці:

static char[][] toBoggleBoard(String s, int n) {

    char[][] board = new char[n][n];
    int i = n / 2;
    int j = i;
    int[] d = {1, 0};

    s = s + s.charAt(s.length() - 1); //the last char gets eaten don't ask me why PS editing loop condition does make it work but causes a StringIndexOutOfBoundsException
    board[i][j] = s.charAt(0);
    s = s.substring(1);
    while (s.length() > 0)
    {
        int[] ra = add(d, right(d));
        int[] r = right(d);
        int[] l = left(d);

        if (board[i + d[0]][j + d[1]] > 0)
        {
            if (board[i + d[0]][j + d[1]] == s.charAt(0))
            {
                i += d[0];
                j += d[1];
                s = s.substring(1);
            }
            else
            {
                i += l[0];
                j += l[1];
                board[i][j] = s.charAt(0);
                s = s.substring(1);
            }
        }
        else if (board[i + ra[0]][j + ra[1]] == s.charAt(0))
        {
            i += ra[0];
            j += ra[1];
            s = s.substring(1);
        }
        else if (board[i + r[0]][j + r[1]] > 0)
        {
            i += d[0];
            j += d[1];
            board[i][j] = s.charAt(0);
            s = s.substring(1);
        }
        else
        {
            int[] rb = sub(r, d);
            d = r;
            if (board[i + rb[0]][j + rb[1]] > 0)
            {
                continue;
            }
            else
            {
                i += d[0];
                j += d[1];
                board[i][j] = s.charAt(0);
                s = s.substring(1);
            }   
        }
    }

    for (int k = 0; k < board.length; ++k)
    {
        for (int l = 0; l < board.length; ++l)
        {
            if (board[k][l] == 0)
            {
                board[k][l] = ' ';
            }
        }
    }

    return board;
}

static int[] left(int[] d) {
    return new int[]{-d[1], d[0]};
}

static int[] right(int[] d) {
    return new int[]{d[1], -d[0]};
}

static int[] add(int[] x, int[] y) {
    return new int[]{x[0] + y[0], x[1] + y[1]};
}

static int[] sub(int[] x, int[] y) {
    return new int[]{x[0] - y[0], x[1] - y[1]};
}

Це відображає його вхід на спіраль, а реалізація не працює , залишаючи символів, якщо це можливо. Це досить просто, тому, ймовірно, можна було б вдосконалитись, і я забув додати перевірку символів у напрямку назад-вправо (оновлення: я додав це, це дало невірні результати) , тому я міг, можливо, поголити один-два символи, але я сумніваюся, що це стає на 22х22.

Редагувати: Видалено 6 пробілів у місцях, де вони не мали бути. Збережено 13 байтів, замінивши чек на індекси масиву на пробний лов. Поголив 12 байтів, перемістивши розмір дошки на int.


1

Желе , 2316 байт, оцінка 3

1111111111111111111111111111111,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,111111111111111111111111111111111111111111111111,11111111111111111111,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111,11111111111111111111111111111111111111111111111,111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111D§ịØJv

Спробуйте в Інтернеті!

Рада:

1,v
D1J
§ịØ

Примітка: це (дещо) тривіальне рішення. Подяка Лінні за ідею .

Повертає не порожній список, якщо sйого можна знайти B, і порожній список, якщо ні. Доданий колонтитул допомагає уточнити це.


Я не був впевнений, чи це дозволено. Я хотів повернути 0, якщо sйого не вдалося знайти, або додатне ціле число, якщо його можна було знайти. Але правила зазначають "Одне заздалегідь задане значення для істинного і хибного відповідно". Або порожні / непорожні для помилкових / правдивих зборів в Jelly?

Конструкція "if-like" @Keelan Jelly, яка за замовчуванням визначає правдивість значення, вважатиме порожній список неправдивим, а будь-який інший список - правдивим. Це дійсно лише умова Python 3 (оскільки саме в цьому реалізовано Jelly).
Ерік Аутгольфер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.