Redstone é um material no jogo Minecraft, e é usado para muitas engenhocas complexas. Para este programa, você precisará simular apenas três itens: o fio redstone (anotado com R), a tocha redstone (anotada com T) e o bloco (anotado com B).
Aqui está uma lista de regras básicas sobre como o redstone funciona:
A redstone torch sends power to any adjacent redstone wire.
TRRRR
^This redstone wire is powered.
Redstone wire can only hold power for 15 blocks.
TRRRRRRRRRRRRRRRR
^This last wire is unpowered, because the torch is >15 blocks away.
A block is said to be powered if a powered redstone wire is found adjacent to it.
TRRRB
^This block is powered.
If a block next to a redstone torch is powered, then the torch stops emitting power.
T
R
R
R
B <This block is powered.
T <This redstone torch does not emit power because of the block next to it.
R <This redstone is unpowered because the torch is not providing power.
R
A entrada será fornecida em matrizes bidimensionais até um tamanho de 64x64, assim:
TRRR
B
TBRTRR
R
RRRRRRRRR
R
RRRRRR
É garantido que a entrada não terá nenhum "relógio" ou redstone alimentado por uma tocha apontando para o bloco em que a tocha está ligada. Haverá apenas um circuito redstone em cada entrada.
Seu programa deve alterar cada caractere para 1 ou 0, 1 indicando se este item está energizado / emitindo energia e 0 se ele não estiver energizado / não emitindo energia.
Esta entrada deve ter esta saída:
1111
1
100000
1
111111111
1
001111
Este é um código de golfe, o código mais curto vence, como sempre.
111\n0 1\n000
é a saída; parece ser bom dentro das regras. Vou colocar uma restrição de entrada dizendo que você não pode ter nenhuma situação como TRR B R RRR
, onde pisca repetidamente.
"TRR\nB B\nRRT"
?