У грі 2048 у вас є сітка, і ви можете переміщати елементи в чотирьох напрямках. Всі вони рухаються в тому напрямку, наскільки можуть. Для цього виклику вам буде надана ситцева, квадратна 2D рядок (або з новими рядками, або зі списком рядків), наприклад:
ab cd e
f ghij
kl
mno p
q r st
u v
w x y
z
або
['ab cd e ', ' f ghij ', ' kl', 'mno p ', ' q r st ', 'u v', ' w x y ', 'z ']
Чотири операції left, right, up, і down. Результат кожного з вищевказаних даних:
Зліва:
abcde
fghij
kl
mnop
qrst
uv
wxy
z
або
['abcde ', 'fghij ', 'kl ', 'mnop ', 'qrst ', 'uv ', 'wxy ', 'z ']
Право:
abcde
fghij
kl
mnop
qrst
uv
wxy
z
або
[' abcde', ' fghij', ' kl', ' mnop', ' qrst', ' uv', ' wxy', ' z']
Вгору:
abocdiel
mf ghsjv
un rp k
zq x t
w y
або
['abocdiel', 'mf ghsjv', 'un rp k ', 'zq x t ', ' w y ', ' ', ' ', ' ']
Вниз:
b e
af c j
mn gd k
uq rhitl
zwoxpsyv
або
[' ', ' ', ' ', ' b e ', 'af c j ', 'mn gd k ', 'uq rhitl', 'zwoxpsyv']
Ваша мета - повернути, яка операція виконується кожною ітерацією, виконуючи їх у вхідний nчас. Отже, якщо ваше замовлення є URDL, і вхід говорить, що почати з D( 2, 0-індексовано), і вам потрібні 5операції, ви виконуєте D-L-U-R-D, а потім друкуєте.
Вхід:
- Рядок у такому форматі, як вище
- Пробіли не потрібні (але вони, мабуть, корисні)
- Це буде як мінімум 2х2
- Містить лише ASCII для друку та пробіли (та нові рядки у вхідному форматі)
- Теоретично ви повинні підтримувати будь-яку довжину, але обмеження пам'яті добре
- Невід’ємне ціле число
nдля кількості операцій, які будуть виконані - Ціле число
0-3або1-4буква абоUDLRопис операції, з якої слід почати.- Отже, ваша програма повинна мати можливість починати або закінчувати будь-яку операцію
- Ви можете визначити їх у будь-якому порядку для початкових цілей, але він повинен бути послідовним порядком, тому
Uне може іноді йти,Rа також іноді дотримуватисяL.
- Операції потрібно виконувати нетривіально
- Ви можете робити операції в порядку
LDRU(вліво, вниз, вправо, вгору) кілька разів, але ніDLRUабоUDLR(тому щоUDце те самеD, що іLRвиконуватиR.)
- Ви можете робити операції в порядку
Вихід:
- Рядок після виконання чотирьох операцій
nрази - Формат виводу повинен бути таким же, як і вхідний формат
- Пробіли не потрібні (але вони, мабуть, корисні)
Приклад:
У цьому прикладі використовується замовлення URDL .
Вхід:
10 (number of times operations are applied)
0 (starts with Up)
ab cd e
f ghij
kl
mno p
q r st
u v
w x y
z
Виходи для n = 0-5: (просто надрукуйте кінцевий результат)
ab cd e
f ghij
kl
mno p
q r st
u v
w x y
z
---------------
abocdiel
mf ghsjv
un rp k
zq x t
w y
---------------
abocdiel
mfghsjv
unrpk
zqxt
wy
---------------
el
dijv
chspk
bognrxt
amfuzqwy
---------------
el
dijv
chspk
bognrxt
amfuzqwy
---------------
eljvkxty
disprqw
chgnz
bofu
am
Моя симпатична невміла реалізація