Wątek złodziei można znaleźć tutaj: The Mystery String Printer (Robbers)
Twoje wyzwanie
- Napisz program, funkcję lub skrypt REPL, który drukuje ciąg do STDOUT.
- Rabusie spróbują stworzyć program, który wydrukuje ten sam ciąg.
- Jeśli uda im się utworzyć program w ciągu 7 dni, zgłoszenie zostanie złamane.
- Jeśli nikt nie może utworzyć programu, który wydrukuje ten sam ciąg w ciągu 7 dni, przesłanie jest bezpieczne. Możesz zdecydować się na ujawnienie swojego programu lub pozostawić go jako wyzwanie przyszłym rabusiom. Jeśli jednak tego nie ujawnisz, nie możesz zdobyć żadnych punktów za przesłanie (nie umieszczaj słowa „bezpieczne” w nagłówku odpowiedzi, jeśli zdecydujesz się to zrobić).
Ograniczenia
- Program musi być mniejszy lub równy 128 bajtom ogółem (więcej na ten temat później).
- Jeśli program zależy od nazwy programu lub nazwy / zawartości pliku zewnętrznego, musisz powiedzieć, że tak się dzieje, i uwzględnić to w całkowitej liczbie bajtów.
- Wydrukowany ciąg musi być mniejszy lub równy 2048 bajtów.
- Wydrukowany ciąg musi składać się wyłącznie z drukowalnych znaków ASCII (można dodać nowe wiersze).
- Program musi generować to samo wyjście przy każdym uruchomieniu.
- Wbudowane operacje podstawowe kryptograficzne (w tym wszelkie rng, szyfrowanie, deszyfrowanie i mieszanie) są niedozwolone.
- Program nie może pobierać danych wejściowych.
- Brak standardowych luk.
Punktacja
- Jeśli zgłoszenie zostanie złamane przed upływem siedmiu dni, zgłoszenie otrzymuje 0 punktów.
- Bezpieczne przesłanie ≤ 128 znaków daje 1 punkt.
- Bezpieczne przesłanie ≤64 znaków daje 2 punkty. Jeśli jest mniejszy lub równy 32 bajtom, zarabia 4 punkty i tak dalej.
- Każde bezpieczne poddanie się zapewnia również dodatkowy 3 punktowy bonus (niezależnie od długości).
- Za każde pęknięcie po pierwszym jest niewielka (1/2 punktu) kara.
- Zauważ, że rozwiązanie rabusia musi mieć ten sam zakres długości programu.
- Każda osoba może przesłać maksymalnie 1 program na zakres bajtów na język (różne wersje i arbitralne podstawienia tego samego języka nie liczą się jako osobne języki). Przykład: możesz opublikować 32-bajtowy i 64-bajtowy program pyth, ale nie możesz opublikować 128-bajtowego programu zarówno w Javie 7, jak i Javie 8.
- Osoba z najwyższą sumą punktów wygrywa.
Zgłoszenia
Każde zgłoszenie musi zawierać następujące informacje:
- Nazwa języka Wszystkie nowe rozwiązania złodziei muszą być w tym samym języku.
- Zakres rozmiaru programu (jest to najbliższa potęga o dwa razy większa niż rozmiar programu; na przykład, jeśli twój program ma 25 bajtów, będzie to „≤32”).
- Rzeczywisty ciąg do wydrukowania.
- Jeśli przesyłanie jest bezpieczne, w nagłówku wpisz „bezpieczny” i długość programu (z dokładnością do najbliższej potęgi 2). Jeśli w nagłówku jest wiele liczb, umieść potęgę 2 na końcu.
Ten fragment stosu generuje tabele wyników i zawiera listę wszystkich otwartych zgłoszeń. Jeśli występują jakieś problemy z fragmentem kodu, zostaw komentarz.
Użyj następujących formatów wpisów:
Language, (any text with the program size as the last number)
=
lub
Language
=
Length <= 16
Pamiętaj, że fragment kodu umieści pierwsze słowo w nagłówku jako język, jeśli nie wykryje przecinka.
W celu bezpiecznego przesyłania umieść bezpiecznie w swoim nagłówku. Urywek automatycznie umieści Twój program w kolumnie „bezpieczny”, jeśli upłynie czas, więc jest to bardziej informacja dla złodziei, że Twój program jest bezpieczny.
W przypadku zgłoszeń z krakowaniem umieść crack w nagłówku.
Program powinien także być w stanie rozpoznać, czy komentarz mówi „pęknięty” i zawiera link; nie jest to jednak gwarantowane.
Kolejność złamań: Punkty -> Liczba bezpiecznych zgłoszeń -> Najmniejsza liczba złamanych zgłoszeń.
Pamiętaj, że fragment jest sortowany według otwartych zgłoszeń przed ich najmniejszym pęknięciem, ale otwarte zgłoszenia nie będą liczone na koniec konkursu.
To wyzwanie jest już zamknięte.
Zwycięzca największej liczby punktów: Dennis
Najbezpieczniejsze zgłoszenia: DLosc
(Należy pamiętać, że liczba bezpiecznych zgłoszeń nie przekłada się na liczbę punktów, ponieważ przy obliczaniu wyniku bierze się pod uwagę rozmiar programów).