Нить грабителей
В этой задаче ваша цель - взломать некоторый код, написанный копами (их код здесь ), изменив его. Вы взломали их код, если:
- Ваш модифицированный код имеет максимальное расстояние в 10 левенштейнов от их и содержит меньше символов
- Функция при одинаковом допустимом вводе выдаст одинаковый вывод на том же языке той же версии
- Вы опубликовали свою модифицированную версию в течение 168 часов (1 неделя) от исходного сообщения.
Ваш измененный код должен иметь только ASCII для печати.
После публикации взломанной версии вы должны оставить комментарий в исходном коде, в котором говорится, что он был взломан со ссылкой на ваш взлом.
Ваша оценка - это общая дистанция Левенштиена среди всех ваших ответов. Самый высокий балл выигрывает.
Сопровождающую нить полицейских можно найти здесь .
primes
code-bowling
cops-and-robbers
Натан Меррилл
источник
источник
Ответы:
Питон 3, 9500 до 9499, Sp3000, расстояние 10
оригинал
модифицированный
Изменен
\\
к\
, и переехал несколько случайных символов , чтобы получить лучший результат.источник
Оригинал по bitpwner, Python, 5199
Модифицированная версия Python, 5198 Левенштейн Расстояние 2 :
Заменено
'zlib'
на более короткий псевдоним'zip'
.источник
User23013 оригинальный CJam 7531
Модифицированная версия CJam 7526 Дистанция 10
Заменено 5
\"
наN
источник
Nuuuq
лучше, который удаляет 5 пустых строк в стеке.CJam, 6768, user23013, расстояние 10
оригинал
модифицированный
Я должен сказать, что идея оригинального кода действительно хороша. Создайте функцию хеширования, в которой каждый символ зависит от измененного результата предыдущего. Это делает невозможным удаление каких-либо символов внутри строки. Самое большее, вы можете начать удалять персонажей с конца. Но начинает снимать символы с фактического основного печатного кода.
Единственное, что упустил @ user23013, это то, что код хеширования все еще можно было использовать в игре: D.
Я почти уверен, что если бы мой взломанный ответ был реальным представлением, было бы невозможно взломать его.
источник
PHP по Трите, расстояние 10
Оригинал (3337):
Модифицировано (3329):
Помимо непосредственного удаления 8 символов, я поменял одинарные кавычки на двойные, чтобы увеличить Левенштейна на 2.
источник
Оригинал MickyTR , 2496
Модифицированная версия R, 2492 Левенштейна, расстояние 9 :
Заменено
sqrt(1e8)
на буквальное значение10000
.источник
Оригинал по Иминю Rong (PHP):
Модифицированная версия:
Удалены
$N--,
.Изменено
$N>0
на$N-->0
.Затем изменил все экземпляры
$N
на$M
.Расстояние 9 .
Это работает для отрицательных значений.
источник
Оригинал от Оптимизатора, CJam, 816
Модифицированная версия CJam, 815 Левенштейн Расстояние 10
Изменено
04703657K)_#b:c~
на4e7K)_#b:cW';t~
.источник
:c);~;
Ява, 6193 Geobits, Расстояние 10
Оригинал:
Изменен:
Может быть, в следующий раз, мой друг;)
источник
Mathematica, от Оптимизатора, от 21 до 18, расстояние 10
от
в
источник
Python 3, 9302–9301, Sp3000, расстояние 10
оригинал
модифицированный
источник
Оригинал от Timtech - TI-BASIC, 4513
Модифицированная версия TI-BASIC, 4505 Левенштейна, расстояние 10 :
Я изменил длину строки и делителя
источник
Оригинал Брэндона C # 233 :
Модифицированная версия C # 231 Левенштейна Расстояние 10 :
Изменены имена переменных, чтобы достичь 10 дистанции для новых правил подсчета очков.
Модифицированная версия C # 231 Левенштейна Расстояние 2 :источник
for
петле ??C #, Шон Холзворт (161) , расстояние 10
Я использовал стандартный гольф трюк , чтобы удалить один символ: шунтирующего
2*n+1
кn-~n
.источник
Ява 8, 1785, от TheBestOne, расстояние 10
оригинал
модифицированный
Название метода
primes
->p
. Не трогал байт-код, лол.источник
PHP, 73, Иминь Жун, расстояние 10
оригинал
модифицированный
Удалено
gmp_strval
, посколькуGMP
объект реализуетSerializable
интерфейс. Демо на Ideone .источник
Matlab, flawr, расстояние 10
оригинал
Модифицированная версия
Удален один пробел из отступа в строке 3 (1 удаление). Изменено
char(101)
наchar(98)
(2 замены, 1 удаление) и изменено с 941 на 0 (1 замена и 2 удаления). Удалено 3 пробела из отступа строки 4 (3 удаления).Расстояние 10 .
(Обратите внимание, что я думаю, что 941 в коде дефекта должно быть 1873, и в этом случае я не могу удалить столько отступов, но могу сохранить то же расстояние Левенштейна).
источник
e
s в моем исходном коде, который должен быть равен 941 здесь. (Простое число =))15 29 49 51 60 64 76 78 86 100 126 128 137 141 179 187 191 195
.CJam, от 844 до 841, по Оптимизатору, расстояние 10
оригинал
модифицированный
источник
1225469401974
изменился на1225469408974
.Ява, TheBestOne, 485, расстояние 10
Я только что удалил две ненужные пустые пары угловых скобок. Самое смешное, что это даже не скомпилирует для меня с ними.
источник
CJam, с 847 по 846, по Оптимизатору, расстояние 10
оригинал
модифицированный
источник
CJam, от оптимизатора, от 24 до 22, расстояние 10
От
в
источник
Ява, 328, TheBestOne, расстояние 10
оригинал
модифицированный
Измените регулярное выражение
"^1?$|^(11+?)\\1+$"
на"^(11+)\\1+$"
(6 удалений) и предположите, что вход для функции основного теста равен по крайней мере 2 (2 добавления, 1 своп). Изменен начальный номер для проверки сi = 0
наi = 1
(так как основная функция вызывается с помощьюb(++i)
, поэтомуi
должна начинаться с 1) (1 своп).источник
Общий балл: 10
Оригинальный ответ от TheBestOne:
Модифицировано с расстояния 10:
Оригинальный ответ Иминь Жуна:
Модифицировано с расстояния 10:
Давид, возможно, избил меня до этого:Оригинальный ответ от flawr:
Модифицировано с расстояния 10:
Редактировать: Дэвид избил меня до этого.
Оригинальный ответ Иминь Жуна:Модифицировано с расстояния 10:
При старой системе начисления очков это дало бы мне 10,7.
Изменить: правила постоянно меняются. Я думаю, что это не считается сейчас.источник
Ява, 6193, Geobits, расстояние 10Не конкурирует, так как я слишком медленно редактировал. Оставьте это здесь для справки.
модифицированный
Чтобы продемонстрировать, что на самом деле было сделано, эта часть кода:
превращается в это:
Если вы выровняете данные правильно, вы можете обойтись, в основном, обменами.
(
перед;
на)
/*
и 2 символа с конца*/
.*/
.Длина дельты -3.
источник