Kennst du Holzspielzeug mit kleinen Kugellagern, bei denen es darum geht, sich im Labyrinth zu bewegen? Das ist irgendwie so. Bestimmen Sie anhand eines Labyrinths und einer Reihe von Zügen, wo der Ball landet.
Das Brett wird vertikal gehalten und die Kugel bewegt sich nur durch die Schwerkraft, wenn das Brett gedreht wird. Jede "Bewegung" ist eine Drehung (im Bogenmaß).
Das Labyrinth besteht einfach aus konzentrischen kreisförmigen Wänden, wobei jede Wand genau eine Öffnung in den äußeren Korridor aufweist (angenommen, diese Wände sind Kreise und nicht spitz):

Wie Sie sehen, beginnt der Ball in der Mitte und versucht auszusteigen. Der Ball wird fallen durch sofort, sobald die korrekte Ausrichtung erreicht wird, auch wenn es auf halben Weg durch eine Drehung. Eine einzelne Drehung kann dazu führen, dass die Kugel durch mehrere Öffnungen fällt. Zum Beispiel ist eine Drehung >= n * 2 * piausreichend, um einem Labyrinth zu entkommen.
Für die Zwecke des Spiels wird ein Ball, der sich im 0.001Bogenmaß der Öffnung befindet, als "fit" betrachtet und fällt zum nächsten Korridor durch.
Eingang:
Die Eingabe erfolgt in zwei Teilen:
Das Labyrinth wird durch eine Ganzzahl angegeben, die angibt
n, wie viele Wände / Öffnungen sich im Labyrinth befinden. Daran schließen sichnLinien mit jeweils einer Nummer an, die den Übergang zum nächsten Korridor darstellen.Die Züge werden als Ganzzahl angegeben, die angibt
m, wie viele Züge ausgeführt wurden, gefolgt von (wiederum in separaten Zeilen)mRotationen des Brettes im Uhrzeigersinn im Bogenmaß (negativ ist gegen den Uhrzeigersinn).
Alle Durchgangspositionen sind 0 rad = upmit positivem Bogenmaß im Uhrzeigersinn angegeben.
Für das obige Beispielbild könnte die Eingabe folgendermaßen aussehen:
7 // 7 openings
0
0.785398163
3.14159265
1.74532925
4.71238898
4.01425728
0
3 // 3 moves
-3.92699082
3.14159265
0.81245687
Ausgabe:
Geben Sie die Korridornummer aus, in der der Ball endet. Die Korridore sind von der Mitte ausgehend mit einem Index von Null versehen, sodass Sie beginnen 0. Wenn Sie durch eine Öffnung gehen, befinden Sie sich im Korridor 1. Wenn Sie das gesamte Labyrinth verlassen, geben Sie eine beliebige Ganzzahl aus>= n
Für die Probeneingabe gibt es drei Züge. Die erste bewirkt, dass der Ball durch zwei Öffnungen fällt . Der zweite findet keine Öffnung und der dritte findet eine . Der Ball befindet sich jetzt im Korridor 3. Die erwartete Leistung beträgt:
3
Das Verhalten ist für ungültige Eingaben undefiniert. Gültige Eingaben sind wohlgeformt, mit n >= 1und m >= 0.
Das Scoring ist Standard-Code-Golf, die niedrigste Anzahl von Bytes gewinnt. Standardlücken sind verboten. Die Eingabe darf nicht fest codiert sein, sondern kann von Standardeingaben, Argumenten, Konsolen usw. übernommen werden. Die Ausgabe kann auf Konsolen, Dateien usw. erfolgen. Sie muss nur irgendwo sichtbar gemacht werden.
1, würden Sie nur mit großen Löchern arbeiten und keine Kugeln in die Mitte des Lochs springen, wenn sie fallen.
