Виклик
Вам надається ASCII-художнє зображення символів на площині як введення будь-яким розумним методом. Він буде містити лише:
[a-z]представлення рухомих символів. Кожен лист з’явиться на дошці не більше одного разу.#що представляють нерухомі стіни.представляючи порожній простір
Наприклад:
abcdef.gh#..
.......ij.#.
#..#.......#
...#.#...###
.#.......#q#
.........###
Вам також надається рядок, що представляє зміни сили тяжіння. Він буде містити лише:
>що представляє собою зміну гравітації вправо<що представляє зміну гравітації ліворуч^що представляє собою зміну вгору тяжкостіvщо представляє зміну гравітації вниз
Наприклад:
v>^
Ваша програма повинна імітувати кожну зміну сили тяжіння послідовно, поки всі символи не перестануть рухатися (вони потрапляють у стіну чи інший символ). Символи, які "падають з краю карти", назавжди видаляються, і символи можуть "укладатися" один на одного.
У цьому прикладі, на початку є вниз сила тяжіння ( v), так що c, e, g, h, i, і jвпасти в нижній частині карти. Усі інші символи ковзають вниз до удару об стіну, залишаючи карту так:
.........#..
a..d......#.
#..#.f.....#
.b.#.#...###
.#.......#q#
.........###
Потім ми переходимо до гравітації праворуч ( >), яка залишає нам це: Зауважте, як розташовуються aстеки поруч із d.
.........#..
........ad#.
#..#......f#
..b#.#...###
.#.......#q#
.........###
Нарешті, ми моделюємо гравітацію вгору ( ^), під час якої aі bпадає карта.
.........#..
.........d#.
#..#......f#
...#.#...###
.#.......#q#
.........###
Ваше завдання - вивести решту символів після гравітаційних зрушень. Їх можна давати в будь-якому порядку. У цьому прикладі ви можете вивести будь-яку перестановку dfq.
Тестові шафи
Для наступної карти:
abcde
.....
##.##
v = abde
v> = <nothing>
Для наступної карти:
######
#....#
abcdef
#.gh..
######
> = <nothing>
< = gh
^> = bcde
v< = bghef