Вызов
Если задан ввод строки, выведите его снесенную версию.
Процесс
P
r Pr r
o o o
g g g
r r r rogr r
a -> a -> a -> a -> a -> -> -> -> ->
m m m m m
m m m m m mmar m
i i i i i i i mi m
n n n n gn gn gn gn gni mgni
g g Pg Pg roPg roPg roPgmar roPgmar roPgmar roPgmar
- Поместите строку вертикально.
- Выберите случайное целое число между
1
и(height of the column of characters) - 1
и случайным направлением (влево или вправо). - Поверните это количество символов в этом направлении (если эти пробелы не заняты, перейдите к шагу 4; если нет, вернитесь к шагу 2).
- Пусть эти персонажи падают из-за гравитации.
- Повторяйте до тех пор, пока высота столбца символов не будет
1
больше, чем высота столбцов рядом с ним (т.е. становится невозможным дальнейшее разрушение ("шаги 2-4") столбца). - Если есть другой столбец символов, который более чем на один
1
символ выше, чем один или несколько окружающих его столбцов (т.е. может быть уничтожен), несколько раз уничтожайте этот столбец, пока он больше не будет уничтожен. Если имеется несколько столбцов, которые могут быть уничтожены, полностью уничтожьте самый высокий столбец (если имеется несколько самых высоких столбцов, полностью уничтожьте самый левый). - Повторяйте, пока все столбцы больше не будут сносить.
Если на входе есть пробелы, сначала снесите их, все сразу.
C
o
d
e -> oC -> -> ...
de
G G G
o o o
l l l
f f defoC
правила
- Стандартные лазейки запрещены.
- Трейлинг и ведущие новые строки разрешены.
- Ваша программа может либо распечатать, либо вернуть строку / эквивалент.
- Выходные данные должны быть недетерминированными (если только входные данные не могут быть разрушены).
Это код-гольф , поэтому заявки с наименьшим количеством байтов на их языках выигрывают!
4
сделает вывод детерминированным, то есть не «случайным». Отредактировал правила, чтобы сделать это явным.Ответы:
Python 2 ,
622595573552542534527520515 байтПопробуйте онлайн!
источник
h+R(X)*-~i
может бытьh-~i*R(X)
.L=[...];D=L
может бытьD=L=[...]
.