Uwaga : Wyzwanie to jest teraz zamknięte dla nowych zgłoszeń policjantów. Ma to na celu zapewnienie, że nikt nie będzie mógł publikować zgłoszeń, które pozostają nierozpoznane, ponieważ nie ma już wystarczającej liczby rabusiów zainteresowanych tym wyzwaniem.
W tej grze gliniarzy i rabusiów każdy policjant napisze prosty program, który da jedno wyjście. Następnie podadzą do publicznej wiadomości cztery rzeczy dotyczące swojego programu:
- Język
- Długość programu
- Pożądana moc wyjściowa
- Zaszyfrowana wersja kodu źródłowego
Następnie złodzieje muszą rozszyfrować kod źródłowy, aby ich program działał jak oryginał.
Zasady gliny
Masz napisać prosty program, który złodzieje spróbują odtworzyć.
Twój oryginalny program musi mieć prostą funkcjonalność: po uruchomieniu wyświetla pojedynczy ciąg / liczbę i zatrzymuje się. Powinien dawać takie same dane wyjściowe niezależnie od tego, kiedy / gdzie jest uruchamiany, i nie powinien zależeć od dodatkowych bibliotek lub Internetu.
Twój program i dane wyjściowe muszą korzystać z ASCII do wydruku (dozwolone są nowe wiersze i spacje). Dane wyjściowe nie powinny mieć więcej niż 100 znaków, a uruchomienie programu na rozsądnej maszynie zajmuje mniej niż około 5 sekund. Nie możesz również używać haszowania (ani innych funkcji kryptograficznych) w swoim programie
Następnie podajesz zaszyfrowaną wersję kodu źródłowego i wymagane dane wyjściowe. Możesz mieszać kod źródłowy, jak chcesz, pod warunkiem, że znaki są zachowane.
Twój wynik to najkrótszy przesłany program, który nie został złamany. Po upływie tygodnia nieskradzione poddanie się stanie się odporne. Aby ubiegać się o tę immunitet, należy edytować swoją odpowiedź, aby pokazać poprawną odpowiedź. (Wyjaśnienie: Dopóki nie ujawnisz odpowiedzi, nie jesteś odporny i wciąż możesz zostać złamany.) Wygrywa najniższy wynik.
Prosty przykład odpowiedzi gliniarza
Perl, 20
ellir"lnto Wo d";prH
Hello World
Lub...
Perl, 15
*3i)xp3rn3*x3t(
272727
Zasady rabusiów
Rabusie opublikują swoje próby włamania jako odpowiedzi w osobnym wątku, który znajduje się tutaj .
Masz jedną próbę złamania każdego zgłoszenia. Twoja próba włamania będzie niezakodowaną wersją kodu źródłowego. Jeśli twoje zgadywanie pasuje do opisu (te same znaki, dane wyjściowe i oczywiście język) i jesteś pierwszym trafnym zgadywaczem, to wygrywasz punkt. Ważne jest, aby pamiętać, że twój program nie musi dokładnie pasować do oryginału, wystarczy użyć tych samych znaków i mieć tę samą funkcjonalność. Oznacza to, że może istnieć więcej niż jedna poprawna odpowiedź.
Złodziej z największą liczbą punktów (udane pęknięcia) wygrywa.
Prosty przykład Rabuś Odpowiedzi
Twój program był
print "Hello World";
. (Chociażprint"Hello World" ;
mógł również działać.)Twój program był
print(3**3x3)x3
Bezpieczne zgłoszenia
- ASP / ASP.Net, 14 (Jamie Barker)
- Befunge-98, 15 (FireFly)
- GolfScript, 16 (Peter Taylor)
- CJam, 19 (DLosc)
- GolfScript, 20 (user23013)
- Perl, 21 (primo)
- Python, 23 (mbomb007)
- Ruby, 27 (histocrat)
- SAS, 28 (ConMan)
- Ruby, 29 (histocrat)
- Python, 30 (mbomb007)
- JavaScript, 31 (hsl)
- Ruby, 33 (histocrat)
- Marbelous, 37 (es1024)
- Ruby, 43 (histocrat)
- PHP, 44 (kenorb)
- Ruby, 45 (histocrat)
- Marbelous, 45 (es1024)
- Python 2, 45 (Emil)
- PHP, 46 (Ismael Miguel)
- Haskell, 48 (nooodl)
- Python, 51 (DLosc)
- Python, 60 (Sp3000)
- Python 2, 62 (muddyfish)
- JavaScript, 68 (Jamie Barker)
- Mathematica, 73 (Arcinde)
- Haskell, 77 (dumny skarbiec)
- Python, 90 (DLosc)
- C ++, 104 (user23013)
- ECMAScript 6, 116 (Mateon1)
- C ++ 11, 121 (es1024)
- Trawa, 134 (user23013)
- PowerShell, 182 (christopherw)
Nierozwiązane zgłoszenia
Według czasu nadania. Ta lista dzięki uprzejmości wielu użytkowników.
- CoffeeScript, 96 (soktinpk)
- Python 3, 70 (Sp3000)
- TinyMUSH 3.1, 20 (Muqo)
- GolfScript, 32 (rozpad beta)
- Python 2, 101 (Mateon1)
- Lua, 49 (ChipperNickel)
- Python, 61 (imallett)
- Java 6+, 218 (nhahtdh)
- CJam, 51 (Martin Büttner)
- J, 22 (FireFly)
- Marbelous, 106 (es1024)
- Marbelous, 107 (es1024)
- JavaScript, 79 (FireFly)
- CJam, 47 (user23013)
- Rdza, 118 + Clojure, 106 + inne (Vi.) - wersja 2
- Marbelous, 144 (es1024)
- Python 2, 80 (MrWonderful)
- Perl, 53 (DLosc)
- Perl, 26 (primo)
- Mathematica, 31 (Arcinde)
- Marbelous, 144 (es1024)
- Zgromadzenie, 78 (krzygorz)
- J, 14 (algorytm)
- Java 8, 157 (TheBestOne)