Через некоторое время после этого инцидента ...
Есть некоторые из нас , кто против этого оскверняющего порядка JQuery. Это нечестивое присутствие, которое должно быть уничтожено . Поэтому я призываю вас, верных Новому Королевству Реформации, создать программу, которая устранит такое сопротивление. Весь код должен быть проверен и найден ЛЮБОЙ и КАЖДЫЙ след jQuery. И, конечно же, ваше представление должно быть коротким (произошел еще один урезанный бюджет, и, к сожалению, это было в отделе хранения). И это не может иметь оскверняющие символы.
Для того, чтобы получить до скорости, осквернение символов является любой из следующих символов: jJqQuUeErRyY$x0
. Как уже было сказано, использование этих символов строго запрещено даже в вашей собственной программе. Так что не используйте их. ТАКЖЕ мы в порядке со знаками доллара в цифрах. Итак, все в форме n+(.nn)*$
в порядке (вы все равно не должны использовать 0
.)
Ваша программа / код / и т. Д. должен подтвердить программу ввода. Если он содержит какие-либо оскверняющие символы , вы должны вывести This programmer is guilty of Heresy. He must be burnt.
; если такие символы не найдены, вы должны вывести Program validated. Clearance level 2 given.
.
Бонусы и Штрафы
- Я лично восхищаюсь характером персонажа
~
. За каждые два, которые вы используете, я дам вам -1 байт. (т. е. каждый другой~
свободен.) - Вы можете выбрать только одного персонажа из числа исключенных; Затем вы можете использовать этот символ во всех его случаях, ОДНАКО: начальный штраф составляет + 50%, а затем штраф +5 байт за каждый экземпляр этого символа.
- -90%, если вы не используете какие-либо символы, смежные с
jquery
(просто чтобы быть супер-безопасными) в вашем исходном коде. Это (дополнительно):iIkKpPsSzZXdDfF
- -20%, если при выдаче недопустимой строки, наряду с выводом вышеупомянутого текста, вы заменяете все недопустимые символы
-
на цикл 1,*
серию менее 10 и[]
любой другой цикл. - -50 байт, если вы не нашли
JavaScript/i
илиSimplex
как имеющие оскверняющие символы.
Реализация эталона
function validate() {
var str = document.getElementById("input").value;
var str2 = str.replace(/[jquery0]/gi,"").replace(/x/g,"").replace(/(\d+\.*\d*\d*\$)|\$/g,"$1"); // thanks Doorknob!
var val;
if (str2 == str) {
val = "Program validated. Clearance level 2 given.";
} else {
val = "This programmer is guilty of Heresy. He must be burnt.";
}
document.getElementById("output").value = val;
}
textarea{width: 600px;}
<textarea id="input" onkeyup="validate()"></textarea>
<br><br>
<textarea id="output" disabled></textarea>
источник
Ee
Ограничение будет жестким ...Those who are blind cannot see, those who are deaf cannot speak. Those who use jQuery cannot be tolerated.
Ответы:
CJam,
16013913,4 байтаВыше это hexdump, который может быть отменен с
xxd -r -c 18
. Попробуйте онлайн.Сам код состоит из 142 байтов . Он содержит в общей сложности шестнадцать символов ~ ( -8 байт ), но не содержит jQuery-смежных символов ( -90% ).
Как это устроено
Матч
n+(.nn)*$
действительно сводится к цифре, за которой следует знак доллара .Прежде всего,
добавляет -94 ко всем кодам этой строки и оценивает результат.
Выполненный код:
источник
Минколанг 0,9 , 346-3 = 343 байта
Самая длинная программа еще.
Попробуй это здесь.
объяснение
Первая строка выполняет три вещи: 1) создает стек с запрещенными символами, 2) помещает столь необходимое
x
в нужном месте (пробел в конце) и 3) перебирает ввод, переходя на соответствующую строку ,Вторая и четвертая строки делают то же самое: заменяйте каждый пробел в следующей строке соответствующим символом. Они прыгают на следующую строку в конце.
Третья и пятая строки просто помещают нужную строку в стек и распечатывают ее.
источник
PHP, (204 * 1,5 + 5) * .1 = 31,1
Этот дамп был сделан с использованием gnuwin32
hexdump
. Обратный сhex2bin
.(Я не совсем понимаю порядок, в котором нужно применять бонус / штраф, поэтому я принял порядок в том виде, в котором он написан.)
Использует символ «е» в Eval. Благодаря магии инверсии строк PHP, это позволяет избежать всех других символов jquery и почти jquery.
Перевернутая строка содержит этот код (отформатирован для ясности)
Поскольку этот код не имеет оператора возврата,
eval
возвращает ноль, поэтому<?=eval
ничего не делает. (Это просто чтобы избежать<?php
)источник
[jquery$x0]
и[1-9]+(\.[1-9]{2})?\$
. Кстати, капиталX
не должен рассматриваться как символ осквернения, поэтому второе регулярное выражение следует изменить на'/[1-9]+(\.[1-9]{2})?\$|X/'
.> <> , 184 байта
Это может быть немного короче с непечатными, но вот версия для печати просто для удовольствия. Не будет работать с онлайн-переводчиком, поскольку он выводит за пределы кодового поля.
Эта программа кодирует обе строки как
каждая точка кода вычитается из 155. Точно так же
кодирует запрещенные символы, с кодовыми точками, вычтенными из 160.
Последняя строка просто устанавливает координаты
(forbidden char, 10)
в 1, образуя справочную таблицу. Затем четвертая строка проверяет каждый входной символ, используя таблицу поиска, выводя сообщение ереси, если 1 еще продолжается. На EOF мы двигаемся вверх, чтобы вывести сообщение об очистке.источник
«Javascript» 840 * 2 + 14 * 5 = 1750;)
Я тааак близко, просто нужно найти способ избавиться от т
Стек не позволяет мне вставлять код сюда, так как в строках есть несколько непечатаемых символов ASCII, так что вот hexdump из xxd
источник