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
Введення буде надано у двовимірних масивах розміром до 64х64, таким чином:
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"
?