Wątek rabusiów
W tym wyzwaniu Twoim celem jest złamanie kodu napisanego przez gliniarzy (ich kod jest tutaj ) poprzez modyfikację. Masz pęknięty swój kod, jeżeli:
- Zmodyfikowany kod ma maksymalną odległość levenshtein 10 od nich i ma mniej znaków
- Funkcja, przy takim samym poprawnym wejściu, wygeneruje to samo wyjście w tym samym języku i tej samej wersji
- Twoja zmodyfikowana wersja została opublikowana w ciągu 168 godzin (1 tydzień) od oryginalnego postu.
Zmodyfikowany kod może mieć tylko drukowany kod ASCII.
Po opublikowaniu pękniętej wersji powinieneś zostawić komentarz w oryginalnym kodzie, który mówi, że został złamany z linkiem do twojego pęknięcia.
Twój wynik to całkowity dystans Levenshtien wśród wszystkich twoich odpowiedzi. Najwyższy wynik wygrywa.
Towarzyszący temu wątek gliniarzy można znaleźć tutaj .
primes
code-bowling
cops-and-robbers
Nathan Merrill
źródło
źródło
Odpowiedzi:
Python 3, od 9500 do 9499, przez Sp3000, odległość 10
Oryginalny
Zmodyfikowano
Zmienił
\\
się\
, i przeniósł się kilka losowych znaków, aby uzyskać lepszy wynik.źródło
Oryginał bitpwner, Python, 5199
Wersja zmodyfikowana Python, 5198 Levenshtein Distance 2 :
Zastąpiony
'zlib'
krótszym aliasem'zip'
.źródło
User23013 oryginalny CJam 7531
Wersja zmodyfikowana CJam 7526 Odległość 10
Zastąpione 5
\"
zN
źródło
Nuuuq
Lepsza jest zamiana na , która usuwa 5 pustych łańcuchów ze stosu.CJam, 6768, autor23013, dystans 10
Oryginalny
Zmodyfikowano
Muszę powiedzieć, że pomysł na oryginalny kod jest naprawdę fajny. Wykonaj funkcję haszującą, w której każda postać zależy od zmodyfikowanego wyniku poprzedniej postaci. To sprawia, że nie można zdjąć żadnego z znaków w ciągu. Co najwyżej możesz zacząć usuwać postacie od końca. Ale zaczyna zdejmować znaki z rzeczywistego kodu drukowania podstawowego.
Jedyną rzeczą, którą @ user23013 przeoczył, było to, że można było odhaczyć kod odblokowujący: D.
Jestem całkiem pewien, że gdyby moja spękana odpowiedź była prawdziwym poddaniem, nie byłoby możliwe jej złamanie.
źródło
PHP według Tryth, odległość 10
Oryginał (3337):
Zmodyfikowany (3329):
Oprócz bezpośredniego usuwania 8 znaków zamieniłem pojedyncze cudzysłowy na podwójne cudzysłowy, aby zwiększyć Levenshtein o 2.
źródło
Oryginał MickyT- R, 2496
Zmodyfikowana wersja R, 2492 Levenshtein Distance 9 :
Zastąpiony
sqrt(1e8)
wartością dosłowną10000
.źródło
Oryginalna przez Yimin Rong (PHP):
Zmodyfikowana wersja:
Usunięte
$N--,
.Zmieniono
$N>0
na$N-->0
.Następnie zmieniono wszystkie wystąpienia
$N
na$M
.Odległość 9 .
Działa to dla wartości ujemnych.
źródło
Oryginał Optimizer, CJam, 816
Zmodyfikowana wersja CJam, 815 Levenshtein Distance 10
Zmieniono
04703657K)_#b:c~
na4e7K)_#b:cW';t~
.źródło
:c);~;
Java, 6193 według Geobits, dystans 10
Oryginalny:
Zmodyfikowano:
Może następnym razem mój przyjaciel;)
źródło
Mathematica, autor: Optimizer, 21–18, dystans 10
od
do
źródło
Python 3, od 9302 do 9301, według Sp3000, odległość 10
Oryginalny
Zmodyfikowano
źródło
Oryginał Timtech - TI-BASIC, 4513
Wersja zmodyfikowana TI-BASIC, 4505 Levenshtein Distance 10 :
Zmieniłem długość sznurka i dzielnika
źródło
Oryginał Brandona C # 233 :
Zmodyfikowana wersja C # 231 Levenshtein Distance 10 :
Zmieniono nazwy zmiennych, aby trafić 10 dystansu dla nowych zasad punktacji.
Zmodyfikowana wersja C # 231 Levenshtein Distance 2 :źródło
for
pętli?C #, Shawn Holzworth (161) , dystans 10
Użyłem standardowej sztuczki golfowej, aby usunąć jedną postać: zwarcie
2*n+1
don-~n
.źródło
Java 8, 1785, autor: TheBestOne, dystans 10
Oryginalny
Zmodyfikowano
Nazwa metody
primes
->p
. Nie dotknąłem kodu bajtu, lol.źródło
PHP, 73, autor: Yimin Rong, dystans 10
Oryginalny
Zmodyfikowano
Usunięto
gmp_strval
, ponieważGMP
obiekt implementujeSerializable
interfejs. Demo na ideone .źródło
Matlab, według wad, odległość 10
Oryginalny
Zmodyfikowana wersja
Usunięto jedną spację z wcięcia w linii 3 (1 usunięcie). Zmieniono
char(101)
nachar(98)
(2 podstawienia, 1 usunięcie) i zmieniono sumę z 941 na 0 (1 podstawienie i 2 usunięcia). Usunięto 3 spacje z wcięcia w linii 4 (3 usunięcia).Odległość 10 .
(Zauważ, że myślę, że 941 w kodzie flawr powinien wynosić 1873, w którym to przypadku nie mogę usunąć tylu spacji, ale mogę zachować tę samą odległość Levenshteina).
źródło
e
15 29 49 51 60 64 76 78 86 100 126 128 137 141 179 187 191 195
.CJam, od 844 do 841, według Optymalizatora, odległość 10
Oryginalny
Zmodyfikowano
źródło
1225469401974
zmieniono na1225469408974
.Java, TheBestOne, 485, odległość 10
Właśnie usunąłem dwie niepotrzebne puste pary kątowników. Najśmieszniejsze jest to, że nie będzie nawet skompilować dla mnie z nimi.
źródło
CJam, od 847 do 846, według Optymalizatora, odległość 10
Oryginalny
Zmodyfikowano
źródło
CJam, Optimizer, 24–22, dystans 10
Od
do
źródło
Java, 328, autor: TheBestOne, dystans 10
Oryginalny
Zmodyfikowano
Zmień wyrażenie regularne
"^1?$|^(11+?)\\1+$"
na"^(11+)\\1+$"
(6 operacji usuwania) i załóż, że dane wejściowe do funkcji testu głównego to co najmniej 2 (2 dodatki, 1 zamiana). Zmodyfikowano numer początkowy do testowania odi = 0
doi = 1
(ponieważ funkcja pierwsza jest wywoływana przezb(++i)
, więci
musi zaczynać się od 1) (1 zamiana).źródło
Łączny wynik: 10
Oryginalna odpowiedź TheBestOne:
Zmodyfikowany o odległość 10:
Oryginalna odpowiedź Yimin Rong:
Zmodyfikowany o odległość 10:
David mógł pobić mnie do tego:Oryginalna odpowiedź flawr:
Zmodyfikowany o odległość 10:
Edycja: David mnie pobił.
Oryginalna odpowiedź Yimin Rong:Zmodyfikowany o odległość 10:
Przy starym systemie punktacji dałoby mi to 10,7.
Edycja: reguły się zmieniają. Myślę, że to się teraz nie liczy.źródło
Java, 6193, według Geobits, odległość 10Nie konkuruje, ponieważ byłem zbyt powolny w edytowaniu. Zostaw to tutaj w celach informacyjnych.
Zmodyfikowano
Aby zademonstrować, co faktycznie zrobiono, ta część kodu:
przekształca się w to:
Jeśli odpowiednio dopasujesz dane, możesz uniknąć głównie zamiany.
(
z przodu;
na)
/*
i 2 znaki od końca za pomocą*/
.*/
.Długość delty wynosi -3.
źródło