Tantangan
Anda diberi representasi ASCII-art karakter di pesawat sebagai input dengan metode apa pun yang masuk akal. Ini hanya akan berisi:
[a-z]mewakili karakter yang dapat dipindahkan. Setiap huruf akan muncul di papan paling banyak satu kali.#mewakili dinding tak bergerak.mewakili ruang kosong
Sebagai contoh:
abcdef.gh#..
.......ij.#.
#..#.......#
...#.#...###
.#.......#q#
.........###
Anda juga diberi string yang mewakili perubahan gravitasi. Ini hanya akan berisi:
>mewakili perubahan gravitasi ke kanan<mewakili perubahan gravitasi ke kiri^mewakili perubahan gravitasi ke atasvmewakili perubahan gravitasi ke bawah
Sebagai contoh:
v>^
Program Anda harus mensimulasikan setiap perubahan gravitasi secara berurutan sampai semua karakter berhenti bergerak (mereka menabrak dinding, atau karakter lain). Karakter yang "jatuh dari tepi peta" dihapus secara permanen, dan karakter dapat "menumpuk" di atas satu sama lain.
Dalam contoh ini, di awal ada gravitasi ke bawah ( v), jadi c, e, g, h, i, dan jjatuh dari bawah peta. Semua karakter lain meluncur ke bawah hingga menabrak dinding, meninggalkan peta seperti ini:
.........#..
a..d......#.
#..#.f.....#
.b.#.#...###
.#.......#q#
.........###
Lalu, kita beralih ke gravitasi ke kanan ( >), yang meninggalkan kita dengan ini: Perhatikan bagaimana atumpukan di sebelah d.
.........#..
........ad#.
#..#......f#
..b#.#...###
.#.......#q#
.........###
Akhirnya, kami mensimulasikan gravitasi ke atas ( ^), di mana adan bjatuhnya peta.
.........#..
.........d#.
#..#......f#
...#.#...###
.#.......#q#
.........###
Tugas Anda adalah menampilkan karakter yang tersisa setelah perubahan gravitasi. Mereka dapat diberikan dalam urutan apa pun. Untuk contoh ini, Anda dapat menampilkan permutasi dari dfq.
Testcases
Untuk peta berikut:
abcde
.....
##.##
v = abde
v> = <nothing>
Untuk peta berikut:
######
#....#
abcdef
#.gh..
######
> = <nothing>
< = gh
^> = bcde
v< = bghef