- 22, Oct 2024
- #1
В Майнкрафте поршни — это блоки, которые могут перемещать другие блоки. Однако они могут перемещаться не более чем на двенадцать блоков и вообще не будут работать, если на пути окажется какой-нибудь обсидиан. Кроме того, блоки слизи липкие и прилипают к другим блокам, кроме обсидиана.
Ваш вызов
Возьмите в качестве входных данных матрицу 5x5 или аналогичную матрицу, содержащую один поршень внизу, и выведите результат движения одного поршня вверх как 5x6. Формат ввода должен иметь пять различных значений для обсидиана, слизи, других блоков, поршня и пустого пространства, представленных здесь как
,BBBBB BBBBB SSSSS S P => BBBBB BBBBB SSSSS S P Because 16 is too many blocks. SBS SBS SBS SBS P => B SBS SBS SBS SPS Because slime sticks to blocks, but blocks don't stick to slime. O SSSSS S S P => O SSSSS S S P Because the obsidian is in the way, the whole thing can't move. S S S S S S S P S => S S S S S S P S S The stray blocks stay where they are. SSSSS B S B B S B B S B B P B => SSSSS B S B S B S B B P B B B The slime pulls the first two blocks, but the rest stay in place. OSO OSO OSO OSO OPO => S OSO OSO OSO OPO O O Slime doesn't stick to obsidian, so it's free to move.
B
B
B
B
P
, B
B
B
B
P
, P
, и соответственно.
Например, предположим, что вы начинаете с
B
Выведите результат, если поршень был активирован, как 5x6:
S
Обратите внимание, что вся конфигурация с поршнем перемещается вверх, если это допустимо.
Тестовые примеры:
O
Подсчет очков
Вот чем короче, тем лучше!
#код-гольф #код-гольф #матрица