Redstone es un material en el juego Minecraft, y se usa para muchos artilugios complejos. Para este programa, solo necesitará simular tres elementos: el cable de redstone (señalado con R), la antorcha de redstone (señalada con T) y el bloque (señalado con B).
Aquí hay una lista de reglas básicas sobre cómo funciona redstone:
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
La entrada se proporcionará en matrices bidimensionales de hasta 64x64, de esta manera:
TRRR
B
TBRTRR
R
RRRRRRRRR
R
RRRRRR
Se garantiza que la entrada no tendrá ningún "reloj" o redstone alimentado por una antorcha que apunte al bloque en el que está encendida. Solo habrá un circuito de redstone en cada entrada.
Su programa debe cambiar cada carácter para que sea 1 o 0, 1 que indica si este elemento tiene potencia / potencia de emisión, y un 0 si no tiene potencia / no está emitiendo potencia.
Esta entrada debe tener esta salida:
1111
1
100000
1
111111111
1
001111
Este es un código de golf, por lo que el código más corto gana, como siempre.
111\n0 1\n000
es la salida; parece estar dentro de las reglas. Pondré una restricción de entrada diciendo que no puede tener situaciones como TRR B R RRR
, donde parpadea repetidamente.
"TRR\nB B\nRRT"
?