Бой в памяти
Вот еще одна задачка, которая стала вполне доступной калькуляторам. Описание виртуальной машины смахивает на адресацию советских ПМК с количественной разницей и невозможностью (?) организации монитора.
Игра проходит на некоторой виртуальной машине, имеющей 8000 ячеек оперативной памяти, замкнутых в кольцо. Ячейки нумеруются с 0 до 7999. После ячейки 7999 снова следует нулевая. Например, числа 1988 и 9988 задают один и тот же адрес памяти.
Монитор Марс. Он управляет игрой. Перед началом вся память виртуальной машины заполнена нулями. Монитор размещает две соревнующиеся программы в случайные участки памяти (не ближе 1000 ячеек одна от другой) и выполняет по очереди по одной команде из каждой программы. Программа представляет собой последовательность команд Каждая команда занимает одну ячейку памяти. Как только монитор пытается выполнить нечто, не являющееся командой, он объявляет программу, в которой это произошло, проигравшей. Таким образом, цель каждой программы - внести в тело программы противника некорректный код и при этом защитить от повреждений себя.
Более подробное описание условий и языка в приложенном файле.
Е.Лилитко, О первом всесоюзном турнире на компьютере "Бой в памяти" DJVU
blog comments powered by Disqus