Ihre Aufgabe ist es, das Gesamtziel von Objekten zu finden, die auf einen Planeten fallen. Sie erhalten folgende Eingaben:
7
...#...
.......
#..O..#
.......
...#...
.......
.......
Dabei ist O der Planet und # die Objekte. Beachten Sie, dass der Planet Objekte aus den für grundlegende Richtungen (NEWS) anzieht. Sie sollten Folgendes ausgeben:
#
#O#
#
dh die Objekte nach Erreichen ihres Ziels.
Die erste als Eingabe angegebene Zahl ist die Länge des Gitters (nxn), im obigen Beispiel ist es 7.
Das Objekt sollte sich immer in der kürzesten Richtung bewegen (beachten Sie, dass die zulässigen Richtungen nur horizontal und vertikal sind; das Objekt kann sich nicht diagonal bewegen).
Wenn ein Objekt aus zwei Richtungen gleich weit entfernt ist, sollte es im Uhrzeigersinn gehen:
..#
...
O..
Wird diese Seite erreichen:
...
...
O#.
Wenn ein Objekt mit dem Planeten kollidiert, stoppt es. Wenn es mit einem anderen Objekt kollidiert, werden sie zu einem Objekt.
4
.#..
#...
....
.O..
würde werden:
....
....
.#..
.O..
Ein letztes Beispiel:
6
..#...
.#....
......
.#O...
....#.
......
Ausgabe:
......
......
..#...
.#O#..
......
......
Hinweis: Sie sollten die endgültige Form ausgeben, damit alle Ausgaben akzeptiert werden, solange sie die endgültige Form des Planeten anzeigen.
Zum Beispiel für diese Eingabe:
...#
....
.O..
....
Sollte ausgeben:
O#
oder
....
....
.O#.
....
Beides wird akzeptiert.
Dies ist Code-Golf, also gewinnt die kürzeste Antwort
Anmerkung 2:
Wie Sie vielleicht bemerkt haben, .stellt ein Vakuum dar, so dass der kürzeste Weg die kürzeste Anzahl von Punkten ist.
Zum Beispiel:
.#.
...
.O.
Wird nicht akzeptiert zu sein
O#
da der kürzeste Weg vertikal ist. Notiz 3:
Das Objekt sollte sich immer in einer der vier Richtungen in derselben Linie wie der Planet bewegen (Auswahl der kürzesten).
|<#
|
|
-----O------
|
Beschränkungen:
2 <= n <= 100