Lost - это двумерный язык программирования, где начальная позиция и направление ip полностью случайны.
Это делает очень трудным создание детерминированных потерянных программ. Однако сегодня мы не пишем детерминированную программу, мы пишем ГСЧ.
Напишите программу Lost, которая не требует ввода и выводит одну цифру (0,1,2,3,4,5,6,7,8 или 9), причем все цифры имеют одинаковую вероятность вывода. Поскольку начальное местоположение и направление Lost являются единственным источником случайности, единственный способ сделать это состоит в том, чтобы каждое местоположение в вашем источнике выводило различное число от 0 до 9 с одинаковым числом, выводящим каждую цифру.
Вы можете вычислить вероятность каждой цифры, используя -Q
флаг и вставляя его в этот скрипт Python.
import sys
a=sys.stdin.read().split()[:-1]
for x in range(10):print x,':',a.count(`x`)
print[x for x in a if x not in list("1234567890")]
Это код-гольф, поэтому ответы будут оцениваться в байтах, причем меньше байтов будет лучше.
Обзор Lost
Lost - это скрытый неявный IO 2D-язык, который берет многое из формы Кляйна. Вот краткий список того, что делают потерянные команды
\
,/
,|
Зеркала IP -<
,^
,>
,v
Переводит внутрибрюшинно в направлении[
Отражает IP, если он движется на восток; становится]
если ip движется горизонтально]
Отражает IP, если он движется на запад; становится[
если ip движется горизонтально!
Пропускает следующую операцию?
Выскакивает с вершины стека и прыгает если не ноль:
Дублирует вершину стека$
Меняет местами два верхних стека(
Выскакивает из стека и толкает в прицел)
Выскакивает из области и толкает в стек0
-9
толкает n к вершине стека"
Начинает и заканчивает строковый литерал. Во время строки буквальные команды не запускаются и вместо них их символьные значения помещаются в стек.+
Добавляет два верхних числа*
Умножает два верхних числа-
Умножает вершину на -1%
Выключает безопасность#
Включает безопасность@
Завершает выполнение, если безопасность выключена (запускается)
[]
действовать как двери, <>
указывать в направлениях и ()
хранить и отзывать из области видимости. Область используется для хранения значений.
@
или есть другие варианты использования? Насчет скобок, я не понимаю эту часть becomes ] if the ip is moving horizontally
. Двигаться на восток тоже горизонтально, не так ли?