Desafío
Dada una entrada de cadena, genera la versión demolida de la misma.
El proceso
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 la cuerda verticalmente.
- Seleccione un entero aleatorio entre
1
y(height of the column of characters) - 1
y una dirección aleatoria (izquierda o derecha). - Gire ese número de caracteres en esa dirección (si esos espacios están desocupados, vaya al paso 4; si no, vuelva al paso 2).
- Deja que esos personajes caigan debido a la gravedad.
- Repita hasta que la altura de la columna de caracteres sea como máximo
1
mayor que la altura de las columnas a su lado (es decir, se hace imposible demoler aún más ("pasos 2-4") la columna). - Si hay otra columna de caracteres que tiene más de un
1
carácter más alto que una o más de sus columnas circundantes (es decir, puede demoler), demuela repetidamente esa columna hasta que ya no pueda demoler. Si hay varias columnas capaces de demoler, demuele completamente la columna más alta (si hay varias columnas más altas, demuela completamente la más a la izquierda). - Repita hasta que todas las columnas ya no sean demolibles.
Si hay caracteres de espacio en la entrada, demórelos primero, todos a la vez.
C
o
d
e -> oC -> -> ...
de
G G G
o o o
l l l
f f defoC
Reglas
- Las lagunas estándar están prohibidas.
- Se permiten nuevas líneas finales y principales.
- Su programa puede imprimir o devolver una cadena / equivalente.
- La salida debe ser no determinista (a menos que la entrada no sea demolible).
Este es el código de golf , por lo que las presentaciones con el menor número de bytes en sus idiomas ganan.
1
@KeyuGan Creo que el desafío sería bastante trivial si las personas tuvieran que seleccionar un número fijo de caracteres y alternarlos de izquierda a derecha.
—
JungHwan Min
Todavía podemos decir que 4 es aleatorio y devuelto por un lanzamiento de dados justo
—
mi pronombre es monicareinstate el
@ alguien
—
JungHwan Min
4
haría que la salida sea determinista, es decir, no "aleatoria". Editó las reglas para hacerlo explícito.
@alguien se refiere a 4 debido a XKCD ?
—
Giacomo Garabello