Redstone - это материал в игре Minecraft, и он используется для многих сложных приспособлений. Для этой программы вам нужно будет смоделировать только три элемента: проволоку из красного камня (отмечена буквой R), факел из красного камня (отмечена буквой T) и блок (отмечен буквой B).
Вот список основных правил работы 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
Входные данные будут передаваться в двухмерных массивах размером до 64x64, например так:
TRRR
B
TBRTRR
R
RRRRRRRRR
R
RRRRRR
Гарантируется, что на входе не будет никаких «часов» или редстоуна, приводимого в действие горелкой, указывающей на блок, на котором горелка включена. На каждом входе будет только одна цепь красного камня.
Ваша программа должна изменить каждый символ на 1 или 0, 1, указывающий, является ли этот элемент питаемым / излучающим, и 0, если он не включен или не излучает.
Этот вход должен иметь такой вывод:
1111
1
100000
1
111111111
1
001111
Это код-гольф, поэтому, как всегда, выигрывает самый короткий код.
111\n0 1\n000
это выход; кажется, это звучит в рамках правил. Я наложу ограничение на вход, говоря, что у вас не может быть никаких ситуаций, например TRR B R RRR
, когда он мигает несколько раз.
"TRR\nB B\nRRT"
?