Пролог (SWI), 43 33 байта
Я чувствую запах... рекурсия.
Благодаря Эминья и Дырявая монахиня за экономию 10 байт!
Код
<?=!preg_match('#22|[013-9]#',json_encode($_GET));
Попробуйте онлайн! или Проверьте все тестовые примеры!
Объяснение:
Для пользователей, не использующих Пролог, список форматируется следующим образом: !
.
+
is the first element of the list, and tail is the remaining list. Проверьте это здесь!. Важным случаем здесь является то, что хвост списка с 1 элементом равно !
. You can проверьте это здесь.
<?=!ereg("22|[013-9]",json_encode($_GET));
||answer||
Желе, 4 байта
<?=!ereg("22|[013-9]",$argn);
Попробуйте онлайн!
Как это работает
<?=!preg_match('/:"(?!2")/',serialize($_GET));
||answer||
Октава, 13 байт
∙e]Å2E
∙e ■Evaluate the input to form an array
Å ■any( , )
] ■ flatten(input)
2N ■ lambda x:x!=2
■implict end of any and print
Проверьте все тестовые примеры.
Это анонимная функция, принимающая один входной аргумент: CP-437
. It subtracts ∙e]Å2N
из всех элементов проверяет, есть ли какие-либо ненулевые элементы. Он отрицает вывод, чтобы получить "22"
for cases where all values are zero.
Это работает, потому что x
works for matrices of all sizes, including the empty matrix, [], 2
.
lambda x:set(x)<=set("[],2"*0**("22"in x))
would be sufficient if there couldn't be empty matrices in the input.