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.
E isso:
é um formigueiro no quintal de Langton.
O formigueiro é grande o suficiente para segurar a bola de golfe de Markov, MarGolf. No entanto, o formigueiro se move e muda de direção, dependendo do terreno circundante.
A tarefa
Faça uma entrada de um campo 10x20:
*
MarGolfO
Formigueiro de Lanton,
Formigueiro gira 90 graus no sentido horário.
Formigueiro gira 90 graus no sentido anti-horário0
MarGolf no formigueiro de Langton
Um campo fica assim:
,...,.,,..,...,.,,..
..,.,,,..,...,..,.,.
.,,*.,....,.,,,.,,,.
,.,,.,...,,.,.,,,,,.
.,..,....,,.....,,.,
,.,.,...,..,.,,,,..,
....,,,,,,,,,.......
........,,.,...,...,
,,,,,,,,,,,,....,O.,
,.,.,.,.....,,.,,,,,
Regras do jogo:
A configuração do campo de entrada é chamada tick 0. Seu programa precisa avaliar e imprimir a configuração do próximo tick, no qual o MarGolf e o Anthill de Langton se moverão para outra célula. O item na célula atual se tornará o item atualmente na célula de destino. Se MarGolf e o formigueiro forem para a mesma célula no próximo tick, o jogo termina.
Regras de movimento:
- MarGolf se move aleatoriamente. Todas as nove células na área 3x3 ao redor do MarGolf têm chances iguais de serem selecionadas. Isso se torna uma escolha entre 6 células em uma borda do campo e 4 células em uma esquina.
- O Anthill de Langton precisa lembrar a direção do movimento para cima, baixo, esquerda ou direita (NSEW ou qualquer outro equivalente). Ele move uma célula em sua direção a cada marca e o conteúdo original da célula muda de direção no sentido horário ou anti-horário, conforme especificado acima. A direção inicial no tick 0 é aleatória, cada direção tem a mesma chance de ser a inicial.
Notas
- O programa precisa imprimir a configuração de cada tick, até o jogo terminar.
- O número do tick precede a configuração de campo de cada tick.
- Você pode assumir que a entrada é sempre válida.
- O programa mais curto é o de bytes ganhos.
Atualização: esqueceu de mencionar o formigueiro inverte a direção antes de se mover, caso contrário sairia do campo. Os nossos agradecimentos a user81655 por lembrar.
O
direção s para a próxima etapa.Respostas:
Java 10,
611609607593591 bytes-4 bytes graças a @ceilingcat .
Assume a troca final
*
eO
esvaziará a célula de onde*
está vindo.Explicação:
Experimente online.
fonte