Herausforderung
Sie erhalten eine ASCII-artige Darstellung von Zeichen in einer Ebene als Eingabe nach einer beliebigen vernünftigen Methode. Dies wird nur enthalten:
[a-z]bewegliche Figuren darstellen. Jeder Buchstabe erscheint höchstens einmal an der Tafel.#unbewegliche Wände darstellen.leeren Raum darstellen
Beispielsweise:
abcdef.gh#..
.......ij.#.
#..#.......#
...#.#...###
.#.......#q#
.........###
Sie erhalten auch eine Zeichenfolge, die die Schwerkraftänderungen darstellt. Dies wird nur enthalten:
>eine Änderung der Schwerkraft nach rechts darstellt<eine Änderung der Schwerkraft nach links darstellt^eine Änderung der Aufwärtsschwerkraft darstelltveine Änderung der abwärts gerichteten Schwerkraft darstellt
Beispielsweise:
v>^
Ihr Programm muss jede Änderung der Schwerkraft nacheinander simulieren, bis sich alle Zeichen nicht mehr bewegen (sie treffen auf eine Wand oder ein anderes Zeichen). Zeichen, die "vom Rand der Karte fallen", werden dauerhaft entfernt, und Zeichen können übereinander "gestapelt" werden.
In diesem Beispiel zu Beginn gibt es nach unten Gewicht ( v), so c, e, g, h, i, und jdie Unterseite der Karte fallen. Alle anderen Zeichen gleiten nach unten, bis sie auf eine Wand treffen, und verlassen die Karte wie folgt:
.........#..
a..d......#.
#..#.f.....#
.b.#.#...###
.#.......#q#
.........###
Dann bewegen wir uns weiter zur Schwerkraft nach rechts ( >), was uns dazu veranlasst: Beachten Sie, wie die aStapel neben dem d.
.........#..
........ad#.
#..#......f#
..b#.#...###
.#.......#q#
.........###
Zum Schluss simulieren wir die Aufwärtsschwerkraft ( ^), während derer das aund das bvon der Karte fallen.
.........#..
.........d#.
#..#......f#
...#.#...###
.#.......#q#
.........###
Ihre Aufgabe ist es, die verbleibenden Zeichen nach den Gravitationsverschiebungen auszugeben. Sie können in beliebiger Reihenfolge angegeben werden. In diesem Beispiel können Sie eine beliebige Permutation von ausgeben dfq.
Testfälle
Für die folgende Karte:
abcde
.....
##.##
v = abde
v> = <nothing>
Für die folgende Karte:
######
#....#
abcdef
#.gh..
######
> = <nothing>
< = gh
^> = bcde
v< = bghef