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