This is Markov.
Markov's golf ball rolls around randomly.
Markov's ball will hole however he strikes it.
Markov is smart.
Be like Markov.
Y esto:
es un hormiguero en el patio trasero de Langton.
El hormiguero es lo suficientemente grande como para sostener la pelota de golf de Markov, MarGolf. Sin embargo, el hormiguero se mueve y cambia de dirección dependiendo del terreno circundante.
La tarea
Tome una entrada de un campo 10x20:
*
MarGolfO
Hormiguero de Lanton,
El hormiguero gira 90 grados en sentido horario.
El hormiguero gira 90 grados en sentido antihorario0
MarGolf en el hormiguero de Langton
Un campo se ve así:
,...,.,,..,...,.,,..
..,.,,,..,...,..,.,.
.,,*.,....,.,,,.,,,.
,.,,.,...,,.,.,,,,,.
.,..,....,,.....,,.,
,.,.,...,..,.,,,,..,
....,,,,,,,,,.......
........,,.,...,...,
,,,,,,,,,,,,....,O.,
,.,.,.,.....,,.,,,,,
Reglas del juego:
La configuración del campo de entrada se llama tick 0. Su programa necesita evaluar e imprimir la configuración del siguiente tick, en el que tanto MarGolf como Langton's Anthill se moverán a otra celda. El elemento en la celda actual se convertirá en el elemento actualmente en la celda objetivo. Si tanto MarGolf como el hormiguero se mueven a la misma celda en el siguiente tic, el juego termina.
Reglas de movimiento:
- MarGolf se mueve al azar. Las nueve celdas en el área 3x3 alrededor de MarGolf tienen la misma posibilidad de ser seleccionadas. Esto se convierte en una elección entre 6 celdas en un borde del campo y 4 celdas en una esquina.
- El hormiguero de Langton necesita recordar su dirección de movimiento de arriba, abajo, izquierda o derecha (NSEW o su equivalente). Mueve una celda en su dirección cada tic, y el contenido original de la celda cambia su dirección en sentido horario o antihorario, como se especifica anteriormente. La dirección inicial en la marca 0 es aleatoria, cada dirección tiene la misma probabilidad de ser la inicial.
Notas
- El programa necesita imprimir la configuración de cada tic hasta que finalice el juego.
- El número de tick precede a la configuración de campo de cada tick.
- Puede suponer que la entrada siempre es válida.
- El programa más corto es bytes gana.
Actualización: olvidé mencionar que el hormiguero invierte la dirección antes de moverse si de lo contrario saldría del campo. Crédito al usuario 81655 por recordar.
O
dirección s para el siguiente paso.Respuestas:
Java 10,
611609607593591 bytes-4 bytes gracias a @ceilingcat .
Asume el intercambio final de
*
yO
vaciará la celda de donde*
viene.Explicación:
Pruébalo en línea.
fuente