Twoim zadaniem jest stworzenie programu, w którym jeśli jeden znak zostanie usunięty, wykryje, który znak został usunięty, a następnie ponownie wstawi usunięty znak do własnego pliku źródłowego.
Na przykład, jeśli twój program jest RadiationHardenedi jest zmodyfikowany RadiaionHardened, to twój program musi wyprowadzić, że zmodyfikowany został 5. bajt (indeksowany 0), a następnie źródło programu musi być RadiationHardenednatychmiast po wykonaniu.
Uwagi i zasady
- Możesz założyć, że dokładnie jeden znak został usunięty z kodu źródłowego przed wykonaniem. Zachowanie niezmodyfikowanego programu jest niezdefiniowane.
- Możesz założyć, że zmieniony bajt zostanie usunięty, nie transponowany, wstawiony ani zastąpiony.
- W przypadku serii wielokrotności tego samego znaku możesz zgłosić pierwszy lub ostatni indeks serii, ale zachowaj spójność co do tego, którego używasz. Na przykład
baaadusunięcie, abybaadzgłosić 1 lub 3 (indeksowane zerem), ale musi być takie samo w całym programie. - Nie musisz zapisywać całego źródła do własnego pliku. Wystarczy ponownie wstawić usunięty bajt.
- W przeciwieństwie do typowych zasad dla utwardzanych promieniowaniem quinów, wykrywanie zmienionego bajtu po odczytaniu własnego kodu źródłowego programu jest uczciwą grą.
- Zmieniony indeks bajtów można wydrukować w dowolnym rozsądnym formacie. Bądź konsekwentny w kwestii, czy jest indeksowany 0, indeksowany 1 czy jakikolwiek inny zapis. Możesz nawet wypisać liczbę w ciągu szablonu.
To jest golf golfowy, więc wygrywa najkrótszy program.
Powodzenia!
EDYCJA 1: zmieniono wymaganie z zamiany na usunięcie
EDYCJA 2: dodano regułę dla serii duplikatów
code-challengektórym każdy program może zadeklarować listę bajtów, które są chronione przed promieniowaniem (ale nie więcej niż - powiedzmy - 50% całkowitego rozmiaru). Prostym systemem oceniania może być policzenie każdego bajtu chronionego przed promieniowaniem jako 10 bajtów lub coś w tym rodzaju.
*polecenie zabija wszystkie adresy IP. Kardynał też nie może tego zrobić@.