Su tarea es crear un programa en el que si se elimina cualquier carácter, detectará qué carácter se eliminó y luego volverá a insertar el carácter eliminado en su propio archivo fuente.
Por ejemplo, si su programa es RadiationHardened
modificado y está modificado RadiaionHardened
, entonces su programa debe indicar que se modificó el 5to byte (indexado a 0) y luego la fuente del programa debe estar RadiationHardened
inmediatamente después de la ejecución.
Notas y reglas
- Puede suponer que se eliminó exactamente un carácter en el código fuente antes de la ejecución. El comportamiento del programa no modificado no está definido.
- Puede suponer que el byte modificado se eliminará, no se transpondrá, insertará o reemplazará.
- En el caso de una ejecución de múltiplo del mismo carácter, puede informar sobre el primer o el último índice de la ejecución, pero sea coherente con el uso que haga. Por ejemplo, si
baaad
se eliminabaad
puede informar 1 o 3 (indexado a cero), pero debe ser el mismo en todo el programa. - No necesita escribir toda la fuente en su propio archivo. Solo necesita volver a insertar el byte eliminado.
- A diferencia de las reglas típicas para quines endurecidas por radiación, detectar el byte modificado al leer el código fuente del programa es un juego justo.
- Puede generar el índice de bytes modificado a través de cualquier formato razonable. Sea coherente acerca de si está indexado 0 o indexado 1 o cualquier otra notación. Incluso puede generar un número dentro de una cadena de plantilla.
Este es el código de golf, por lo que gana el programa más corto.
¡Buena suerte!
EDITAR1: se modificó el requisito de reemplazo a eliminación
EDIT2: regla agregada para ejecuciones de duplicados
code-challenge
donde cada programa puede declarar una lista de bytes que están protegidos contra la radiación (pero no más de, digamos, el 50% del tamaño total). Un sistema de puntuación simple podría ser contar cada byte protegido contra la radiación como 10 bytes, o algo así.
*
comando mata todas las IP. Cardinal tampoco puede hacerlo, por eso@
.