Desafio
Dada uma entrada de sequência, produza a versão demolida dela.
O processo
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
- Coloque a corda verticalmente.
- Selecione um número inteiro aleatório entre
1
e(height of the column of characters) - 1
e uma direção aleatória (esquerda ou direita). - Gire esse número de caracteres nessa direção (se esses espaços estiverem desocupados, vá para a etapa 4; caso contrário, volte para a etapa 2).
- Deixe esses caracteres caírem devido à gravidade.
- Repita até que a altura da coluna de caracteres seja no máximo
1
maior que a altura das colunas próximas a ela (ou seja, torna-se impossível demolir ainda mais ("etapas 2-4") a coluna). - Se houver outra coluna de caracteres com mais do
1
que um caractere mais alto que uma ou mais colunas adjacentes (por exemplo, capacidade de demolição), demolir essa coluna repetidamente até que não seja mais capaz de demolir. Se houver várias colunas capazes de demolir, demolir completamente a coluna mais alta (se houver várias colunas mais altas, demolir completamente a coluna mais à esquerda). - Repita até que todas as colunas não possam mais ser demolidas.
Se houver caracteres de espaço na entrada, destrua-os primeiro, de uma só vez.
C
o
d
e -> oC -> -> ...
de
G G G
o o o
l l l
f f defoC
Regras
- As brechas padrão são proibidas.
- Novas linhas à direita e à direita são permitidas.
- Seu programa pode imprimir ou retornar uma string / equivalente.
- A saída deve ser não determinística (a menos que a entrada não possa ser demolida).
Isso é código-golfe , então os envios com a menor contagem de bytes em seus idiomas vencem!
4
alguém tornaria a saída determinística, ou seja, não "aleatória". Editou as regras para tornar isso explícito.Respostas:
Python 2 ,
622595573552542534527520515 bytesExperimente online!
fonte
h+R(X)*-~i
pode serh-~i*R(X)
.L=[...];D=L
pode serD=L=[...]
.