Модифицированный Boggle Checker, с Модифицированным Boggle-способным кодом


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последовательности.

Вызов

Напишите функцию или программу, которая по заданной доске Modified Boggle B(любого размера) и строке sопределяет, sможно ли ее найти B.

ограничения

Ваш код должен также помещаться на платформе Modified Boggle b. Таким образом, вы должны показать доску bв вашем представлении вместе с вашим кодом, чтобы ваша функция / программа выводила значение true, если оно задано, bи ваш код в качестве ввода.

счет

Оценка вашего представления - это длина стороны самой маленькой доски, bгде вы можете разместить свой код. Связи нарушаются обычными правилами , т.е. длиной вашего кода в байтах. Представление с самым низким баллом (по обоим критериям) выигрывает.

Например, from itertools import*\nимеет оценку 4 (используя плату выше) и длину кода 23 байта.

Вход и выход

Для ввода, вы можете взять любой удобный метод , как Bи s. Это включает в себя список символов и список кодов, 2D или плоский или все, что имеет смысл. Кроме того, вы можете при желании принять размер платы как часть ввода.

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

  • Истинные и ложные значения в соответствии с соглашением вашего языка, или
  • Одно предопределенное значение для true и false соответственно.

Пожалуйста, укажите ваш метод ввода / вывода в вашем представлении.


Я подозреваю, что какой-нибудь esolang с очень маленьким набором символов, который может уместиться на 2x2, выиграет xD
HyperNeutrino

И любая унарная программа получит 4, но почти гарантированно проиграет из-за правила связывания с языком, эффективно использующим 4 различных символа.
Арно,

@Arnauld Я думал, может быть, tinyBF, и когда тебе нужны два соседних символа, ты просто делаешь +=+=что-то вроде этого. Проблема заключается в ==функции вывода ...
HyperNeutrino

2
@ l4m2 Решение с таким языком всегда приветствуется, но остерегайтесь предупреждения Джо Кинга выше.
Bubbler

3
Это действительно ограниченный источник ? Я думаю, что это просто двойная задача (больше для языков без игры в гольф), где вы должны найти как код, так и наименьшую возможную доску Boggle, в которую помещается код.
Эрик Outgolfer

Ответы:


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'


Хм, похоже, я нашел способ сделать это в желе.
Эрик Outgolfer

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 Это именно то, что я имел в виду, но я прямо не сказал об этом. Пояснение исключает такие языки, как Unary или что-либо еще, что повторяет один и тот же символ.
Тост инженера

3

Чисто , оценка 12 (175 байт)

(Это почти наверняка будет обойдено esolang и, вероятно, нормальными языками.)

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.

Я не знал, что делать с полями import и static (что на самом деле необходимо), поэтому я решил просто взять весь класс и вставить лямбды в инициализатор. Затем лямбда-выражение gможет быть применено к двумерному массиву и строке и возвращается, 1если строка находится на доске, а 0если нет (как Byte, 3 символа короче 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]};
}

Он отображает свои входные данные на спирали, в которой не работала змеиная реализация , по возможности оставляя символы. Это довольно просто, так что, возможно, его можно улучшить, и я забыл добавить проверку на наличие символов в направлении назад-вправо (обновление: я добавил его, и он дал неправильные результаты) , так что я мог бы, вероятно, сбрить один или два символа, но я сомневаюсь, что это становится на 22x22.

Изменить: Убрал 6 пробелов в местах, где они не должны быть. Сохранено 13 байт, заменив проверку индексов массива на try-catch. Сбрил 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не удалось найти, или положительное целое число, если его можно найти. Но правила гласят: «Одно предопределенное значение для true и false соответственно». Или пустые / непустые для ложного / истинного соглашения в желе?

Конструкция @Keelan Jelly «if-like», которая по умолчанию определяет истинность значения, будет считать пустой список ложным, а любой другой список - правдивым. На самом деле это просто соглашение Python 3 (поскольку именно в нем реализовано Jelly).
Эрик Outgolfer
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.