Il tuo compito è quello di creare un programma in cui se un carattere viene eliminato, rileverà quale carattere è stato eliminato e quindi reinserirà il carattere eliminato nel suo file di origine.
Ad esempio, se il programma è RadiationHardened
ed è modificato inRadiaionHardened
, il programma deve emettere che il 5 ° byte (indicizzato 0) è stato modificato e quindi la sorgente del programma deve essere RadiationHardened
immediatamente dopo l'esecuzione.
Note e regole
- Si può presumere che esattamente un carattere sia stato eliminato nel codice sorgente prima dell'esecuzione. Il comportamento per il programma non modificato non è definito.
- Si può presumere che il byte modificato verrà eliminato, non trasposto, inserito o sostituito.
- Nel caso di una corsa di multipli dello stesso carattere, puoi segnalare il primo o l'ultimo indice della corsa, ma sii coerente con quale usi. Ad esempio
baaad
essere cancellato inbaad
può riportare 1 o 3 (zero indicizzato), ma deve essere uguale per tutto il programma. - Non è necessario scrivere l'intera fonte nel proprio file. Devi solo reinserire il byte cancellato.
- A differenza delle regole tipiche per i quine temprati dalle radiazioni, rilevare il byte modificato dalla lettura del codice sorgente del programma è un gioco equo.
- È possibile generare l'indice di byte modificato in qualsiasi formato ragionevole. Essere coerenti sul fatto che sia 0-indicizzato o 1-indicizzato o qualsiasi altra notazione. È anche possibile generare un numero all'interno di una stringa di modello.
Questo è code-golf, quindi vince il programma più breve.
In bocca al lupo!
EDIT1: modifica del requisito dalla sostituzione alla cancellazione
EDIT2: aggiunta regola per esecuzioni di duplicati
code-challenge
cui ogni programma è autorizzato a dichiarare un elenco di byte protetti dalle radiazioni (ma non più del - diciamo - il 50% della dimensione totale). Un semplice sistema di punteggio potrebbe essere quello di contare ogni byte protetto dalle radiazioni come 10 byte, o qualcosa del genere.
*
comando uccide tutti gli IP. Anche il cardinale non può farlo, a causa di@
.