Ваша задача - создать программу, в которой, если будет удален какой-либо один символ, он обнаружит, какой символ был удален, а затем повторно вставит удаленный символ в свой собственный исходный файл.
Например, если ваша программа RadiationHardened
и изменена на RadiaionHardened
, то ваша программа должна вывести, что 5-й байт (с 0 индексами) был изменен, а затем источник программы должен быть RadiationHardened
сразу после выполнения.
Примечания и правила
- Вы можете предположить, что ровно один символ был удален в исходном коде перед выполнением. Поведение неизмененной программы не определено.
- Вы можете предположить, что измененный байт будет удален, не транспонирован, вставлен или заменен.
- В случае серии, состоящей из нескольких одинаковых символов, вы можете сообщить либо о первом, либо о последнем индексе серии, но не забывайте о том, что вы используете. Например
baaad
, удалениеbaad
может указывать либо 1, либо 3 (с нулевым индексированием), но оно должно быть одинаковым во всей программе. - Вам не нужно выписывать весь источник в свой собственный файл. Вам нужно только повторно вставить удаленный байт.
- В отличие от типичных правил для радиационно-стойких квин, обнаружение измененного байта при чтении собственного исходного кода программы является честной игрой.
- Вы можете вывести измененный индекс байтов в любом приемлемом формате. Будьте последовательны относительно того, является ли это 0-индексированным или 1-индексированным или любым другим примечанием. Вы даже можете вывести число в строке шаблона.
Это код-гольф, поэтому выигрывает самая короткая программа.
Удачи!
EDIT1: изменено требование от замены к удалению
EDIT2: добавлено правило для прогонов дубликатов
code-challenge
где каждой программе разрешено объявлять список байтов, которые защищены от излучения (но не более - скажем, - 50% от общего размера). Простая система подсчета очков может состоять в том, чтобы считать каждый защищенный от излучения байт как 10 байтов или что-то в этом роде.
*
команда убивает все IP. Кардинал тоже не может этого сделать из-за@
.