Насколько хорошо вы знаете сайт? Давайте разберемся.
Это задача полицейских и грабителей . Нить грабителя.
Как полицейский, вам нужно:
- Найдите не удаленный, не закрытый запрос на этом сайте, чтобы ответить. Задача не может иметь следующие теги: полицейские и грабители , конкурс популярности , кодовый троллинг , закулисный , занятой бобер , царь горы , подсказки , цепочка ответов . Задача должна иметь ограничения на допустимый вывод.
- Написать действительное представление на вызов, в свободном языке найден на Википедии или esolangs.org или tryitonline . Представление не должно быть конкурсным, только действительным. РЕДАКТИРОВАТЬ: Хеширование в вашем представлении не допускается
- Дать представление здесь, сохраняя вызов в секрете. Вы должны опубликовать всю заявку, а также язык (и версию, если применимо).
Через неделю, если никто не нашел ответ, на который вы отвечаете, вы можете опубликовать ответ, на который отвечает ваше сообщение, и в этот момент ваше сообщение безопасно . Это стоит N баллов, где N - количество голосов за вызов (по состоянию на 2016-11-17 ) (чем выше, тем лучше)
Чтобы взломать ваш вызов, грабители должны найти любой вызов, для которого отправка является действительной отправкой.
Примечания:
- Если для запроса требуется вывод
X
, а вы выводитеXY
илиYX
гдеY
находится что-то, кроме пробелов, отправка не подходит для этого вызова. - Вызов, более новый, чем 2016-11-17, не допускается.
- Разрешены языки, более новые, чем скрытый вызов.
- Я оставляю за собой право запретить определенные вызовы, если они широко применяются (могут применяться к большинству всех представлений).
- Спасибо Дэниелу за первоначальную идею!
Uncracked Материалы:
<script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 100357;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>
cops-and-robbers
obfuscation
Натан Меррилл
источник
источник
Ответы:
Пип , 9 байт ( безопасно , 15 баллов)
Что это должно быть легко понять, но вопрос в том, почему ... ( TIO )
Задача была « Какой язык?» Цель: разобрать имя языка программирования из заголовка ответа PPCG. Например:
Я не уверен, что это не соответствует «У задачи должны быть ограничения на допустимый результат», поскольку это тест с тестовой батареей, оцениваемый как «процент тестов, которые вы получили правильно», и, следовательно, не требует, чтобы результат был правильным для всего ввода. Однако я скажу, что приведенный выше код дает примерно 60% правильной скорости, что неплохо для чего-то такого простого.
источник
ht:w"\w+"1
/@:w"\w+"1 1
, которое сводится кhtcw
/,htcz
если имеет значение только пробел, но ни один из них не дает никаких результатов. Также это позволит извлечь минуты из формата HH: mm: ss или извлечь имя переменной из объявления в стиле C или числа после десятичной точки. Но я не могу найти вопросы, которые задают какие-либо из этих вещей ...: /Perl - взломан DLosc
Давайте дадим легкий для людей не esolang
Бежать с
-nl
Задача: удобная палиндромная проверка
Код падает после печати правдивости, но согласно этому мета-посту, если он выдает правильный вывод перед тем, как он падает, и любые ошибки выводятся в STDERR, это правильное решение.
источник
Гексагония , 548 байт, трещины
Попробуйте онлайн!
источник
.
требуемый этим испытанием.)Perl, сейф , 18 баллов
Изменить : Я изменил конец кода (см. Историю редактирования), чтобы обработать крайний случай (задача ничего не говорит об этом, и автор не ответил, когда его спросили об этом, но по крайней мере этот код обрабатывает его) , Но алгоритм и логика кода остаются прежними.
Этот код не запутан (только в гольфе). (Это подразумевает, что
-n0E
это не обязательно).Я не понимаю, сложно это или нет, но, думаю, я исправлюсь, когда кто-нибудь взломает это.
Пояснения:
Задача состояла в том, можно ли решить лабиринт? ,
Этот код найдет каждую достижимую ячейку лабиринта (и пометит их с помощью a
A
): если ячейка касается ячейки, помеченной символом aA
, она достижима, и мы помечаем ееA
тоже; и мы делаем это снова (redo
). Это делается благодаря двум регулярным выражениям:s/(^0|A)(.{@{+}})?0/A$2A/s
проверяет, находится ли пробел справа или снизуA
, аs/0(.{@{+}})?A/A$1A/s
проверяет, находится ли пробел слева или сверху аA
. В конце, если в последней ячейке естьA
достижимость, в противном случае это не так (это то, чтоsay/A$/+0
проверяет;+0
здесь, чтобы убедиться, что результат будет0
или1
вместо пустой строки и1
).Обратите внимание, что
/.*/
будет соответствовать всей строке, таким образом, настройка@+
до индекса конца первой строки, который соответствует размеру строки, который позволяет использовать.{@{+}}
для соответствия ровно столько символов, сколько имеется в строке. (@{+}
эквивалентно@+
, но только первое может использоваться в регулярных выражениях)Чтобы запустить это:
(и если вы замените
1111011
строку на1111111
, она больше не будет решаться, и0
вместо нее будет вывод1
)источник
Perl, 56 байт, Safe (14 баллов)
Задача состояла в том, этот один , требуя , чтобы создать алгоритм сравнивает; Вы должны иметь возможность вводить два файла и выводить diff, или вводить файл и diff и выводить другой файл. Оценка этой задачи - это вызов кода , что делает наименьшее различие победителем; тем не менее, этот вызов не требует, чтобы ответ был конкурентным, просто соответствовал спецификации, поэтому я вместо этого написал отличную программу, которая просто использует XOR для объединения входных данных (это означает, что одна и та же программа работает для различий и ун-сравниваете).
Самое сложное - воспроизвести длину оригинальных файлов. Входные данные указываются как ASCII, который является семибитным набором символов, что позволяет мне использовать восьмой бит для отслеживания длины файла. При дифференцировании мы устанавливаем старший бит каждого байта, используя
y///
инструкцию (которая немного более запутана, чем была бы битовая арифметика). При недифференцировании (распознается, если заметить, что на входе уже установлен старший бит), мы удаляем NUL из вывода. (Я только что понял, что это не получится, если на входе содержатся байты NUL; однако, задача определяется с помощью тестовой батареи, и, к счастью, я не думаю, что в батарее есть байты NUL. Если они есть, то эта программа будет некорректной и должна быть дисквалифицирована, проблема с полицейскими и грабителями в том, что никто не имеет достаточно информации, чтобы указать на легко исправленные недостатки в вашем ответе!)источник
Октава, 15 баллов! БЕЗОПАСНЫЙ
Попробуйте это онлайн здесь .
Объяснение:
Код принимает входную строку,
x
содержащую единицы и нули,10010110110101
и целое числоy
.Чтобы найти скользящую среднюю последовательности в MATLAB / Octave, вы можете сделать:
Поскольку нас интересует только местоположение максимума, а не фактические значения, нам не нужно заботиться о преобразовании строки в числа.
(x.^2)
возводит в квадрат все ASCII-значения48,49
для0,1
. Это необходимо, поскольку Octave не можетcumsum
напрямую использоваться персонажами.cumsum(+x)
будет на два байта короче, но покажет, чтоx
это строка.Это на самом деле довольно хорошо для гольфа (за исключением
.^2
вместо+
). Конечно, свертка была бы проще.источник
MATL . Трещины
Попробуйте онлайн!
Я указал вход и выход, даже если в этом нет необходимости. Так как это в любом случае в истории редактирования: программа вводит два числа и выводит одно число.
источник
C #, 590 байт, треснувший
Вероятно, довольно легко, также довольно длинная программа, _,
источник
Func<string, int, string>
. Похоже, это какой-то клавиатурный шифр. Число param - это количество символов, которые нужно сдвинуть вправо на клавиатуре (т.е. -("t",1)
=y
).05AB1E , 27 байт, трещины!
Для этого представления, вход также требуется для его работы. Не должно быть слишком трудно взломать.
Объяснение (для вызова):
Использует кодировку CP-1252 . Попробуйте онлайн!
источник
아희 (Aheui) , 0 байт, трещины
Попробуй это здесь! (Программа уже набрана для вас: p)
источник
Питон, 935 байт
Извините, я использовал обфускатор, но это не запрещено и намного проще. (И у меня не было всего этого времени, чтобы сделать это самостоятельно ...)
источник
9**99
без печати чего-либо (также занимает много времени, чтобы сделать это)Рубин ( взломан DLosc )
источник
p
когда я скопировал код. Треснувший , тогда.MATL . Сейф , 93 балла
Попробуйте онлайн!
объяснение
Проблема заключалась в экологическом следе исходного кода .
Код вычисляет вес Хэмминга (количество единиц) в двоичном представлении кодов ASCII входной строки; за исключением того, что строка
test
выводит0
(вместо ее веса Хэмминга, который есть17
).Специальный корпус этой нити немного запутан. Программа сначала вычисляет массив последовательных различий ASCII-кодов ввода и инвертирует его. За
test
это дает[1 14 -15]
.Затем вычисляется массив, образованный первыми
n
степенями14
([1 14 196 ...]
), гдеn
длина ввода; и первыеfloor(n/2)
значения сохраняются. Так что для вводаtest
это дает[1 14]
. Отрицательная сумма добавляется к этому массиву, который дает[1 14 -15]
для вводаtest
. Это проверяется на равенство с обратным массивом последовательных различий, который был ранее получен.С другой стороны, сумма кодов ASCII входных символов вычисляется и сравнивается с
448
генерируемой (последовательной) разностью элементов в массиве[2^6 2^9]
(где^
обозначает мощность).Ввод
test
- единственная строка с обратными последовательными различиями формы[1 14 -15]
и суммы448
. Различия[]
или[1]
(для более коротких строк inoyt) не совместимы с общей суммой448
. Различия[1 14 196]
или больше не могут быть достигнуты с помощью символов ASCII.Код проверяет, не меньше ли результат теста для первого условия (последовательных различий), чем отрицательный результат второго условия (общая сумма). Это дает,
0
если и только если оба условия были выполнены. Наконец, это умножается на количество единиц в двоичном представлении кодов ASCII входных данных.источник
CJam ( безопасно , 21 балл)
Это анонимный блок (функция).
источник
Python 3, ~ 2000 байт, (безопасно: 23 балла)
Оригинальная программа
Вызов
На самом деле это ответ на мой собственный вызов, Primenary Strings . Я выбрал это, поскольку почти все будет выводить
0
, кроме нескольких входных данных, которые грабитель вряд ли будет вводить. Код представляет собой простой алгоритм, но сильно запутанный (вручную).источник
Пип , 13 байт
Попробуйте онлайн (введите аргументы, а не входные данные).
источник
JavaScript, 533 байта, взломан! Дэйв
Не мое любимое запутывание моё, но вроде как аккуратно. Звоните как
RESULT(inputs)
.Я мог бы присудить +50 баллов за вознаграждение, если вы подробно объясните, что мой код делает вместе с вашим крэком. (Они не должны быть вместе, поэтому не стесняйтесь FGITW, если это соответствует вашим прихотям.)
источник
Pyke, 3458 байт, SAFE , оценка 99
Попробуй это здесь!
Есть несколько (30)
0x1b
байтов, которые, похоже, были съедены SE.источник
Октава, 40 баллов. БЕЗОПАСНЫЙ
Слегка запутанный ответ на довольно популярный вызов.
Я рекомендую проверить это на октаву-онлайн . Ideone не так хорош, когда дело доходит до STDIN.
Это был симулятор рычага 2015 года. Ввод в форму
'123^32
. Вывод будет-1 0 1
для левого тяжелого, сбалансированного и правого тяжелого в этом порядке.Это выглядит так, когда игра полностью в гольф :
Это выводит
-Inf, NaN, Inf
для L, B, R соответственно.источник
Haskell, БЕЗОПАСНЫЙ
Попробуйте это на Ideone . "Использование":
В задании «Строка Шенанигана» каждому дается строка и два символа, а затем следует заменить каждое вхождение первого символа вторым. Однако входные данные представляют собой одну строку, содержащую только фактическую строку в кавычках и разделенные пробелами из двух символов:
источник
TeX, 240 байт, SAFE , оценка 129
Сохранить как
jeopardy.tex
, затем запуститьpdftex jeopardy.tex
и открытьjeopardy.pdf
.Итог: PDF с текстом
N
(и страница № 1).источник
Python 3, треснул!
Писать это было весело, хотя в конце концов это было легко взломать :)
источник
(sum([x%4<1 for x in range(min(D),max(D))]))
Pyth - взломанный Maltysen
Если это поможет, Пиф не был ни одним из ответов на скрытый вызов.
Попробуйте!
источник
C #, 91 байт
источник
Mathematica, 161 байт
источник
BrainFuck - 140 байт, взломанный daHugLenny
Попробуй здесь!
источник
C ++ 14, Cracked
Принимает переменное число параметров и возвращает
vector<int>
.Использование:
источник
g++
а если ваша версия не соответствует6.2
или что-то вам нужно-std=c++14
Mathematica, 34 байта, трещины
Именованная функция (
±
).источник
Рубин, 50 байтов
выход:
400
источник
Python 2.7, 45 байт
Подсказка (или, может быть, нет): "рыба использует numpy".
2016.11.23 - второй намек: «Не оставляйте ничего плавающего!»
источник