Diese Herausforderung steht im Zusammenhang mit Flipping Pancakes .
Möglicherweise haben Sie von der Pfannkuchensortierung gehört , bei der ein Stapel Pfannkuchen nach Größe sortiert wird, indem Sie einen Spatel in den Stapel einsetzen und alle Pfannkuchen über dem Spatel umdrehen, bis die Pfannkuchen auf dem Teller nach der Größe sortiert werden. Das Problem der verbrannten Pfannkuchen ist etwas anders. Alle Pfannkuchen haben jetzt eine Seite, die verbrannt ist, und die verbrannte Seite jedes Pfannkuchens muss zum Teller zeigen, sobald die Sortierung abgeschlossen ist.
Zum Beispiel mit dem folgenden Stapel (Größe des Pfannkuchens auf der linken 0
Seite bedeutet verbrannte Seite nach unten und 1
verbrannte Seite nach oben auf der rechten Seite):
1 0
3 1
2 1
Sie können den ganzen Stapel umdrehen, um zu erhalten 20 30 11
, die oberen beiden umdrehen, um zu erhalten, 31 21 11
und den ganzen Stapel erneut umdrehen, um 10 20 30
einen sortierten Stapel gebrannter Pfannkuchen zu erhalten. Diese Folge von Zügen, Flip 3, Flip 2, Flip 3, könnte dargestellt werden als 3 2 3
.
Die Herausforderung
- Wenn eine Reihe von Pfannkuchengrößen (nicht unbedingt eindeutig) und ihre Ausrichtungen vorgegeben sind, geben Sie eine gültige Sortierfolge für gebrannte Pfannkuchen aus, d.
- Die Ein- und Ausgabe kann in jedem vernünftigen Format mit Trennzeichen erfolgen. Geben Sie jedoch an, welche Formate Sie verwenden, und geben Sie an, welches Ende Ihres Eingabeformats das oberste Ende des Stapels (TOS) ist.
- Das Umdrehen von null Pfannkuchen ist erlaubt.
- Das Mischen von Trennzeichen in der Eingabe / Ausgabe ist zulässig.
Testfälle
In allen folgenden Testfällen ist die Eingabe eine Liste und die Ausgabe eine durch Leerzeichen getrennte Zeichenfolge. Die TOS befindet sich links.
[[1, 0], [3, 1], [2, 1]]
"3 2 3"
[[5, 1], [3, 0], [4, 1], [2, 1], [1, 0]]
"5 3 4 1 3 2 1"
[[5, 1], [3, 0], [3, 0], [1, 1]]
"4 3 2 3"
Wie immer, wenn etwas unklar oder falsch ist, lassen Sie es mich bitte in den Kommentaren wissen. Viel Glück und gutes Golfen!