Herausforderung Aus meinem Hochschulcode-Herausforderungswettbewerb entnommen
Dies ist eigentlich Tag 0, aber die gestrige Herausforderung war zu einfach und kann hier ein Betrug einer anderen Frage sein.
Tetris ist ein Videospiel, das in den 80er Jahren populär wurde. Es besteht aus einer Reihe von Stücken mit unterschiedlichen Formen, die auf ein Brett fallen, damit sie möglichst kompakt passen.
In diesem Problem nehmen wir eine Folge von Stücken an, die jeweils in einer bestimmten Position und mit einer bestimmten Ausrichtung abfallen, die nicht geändert werden können. Die Steine werden beim Fallen gestapelt und die kompletten Reihen werden nicht eliminiert (wie im ursprünglichen Spiel). Ziel ist es, die endgültige Höhe jeder Brettsäule zu bestimmen, nachdem alle Teile gefallen sind.
Es gibt insgesamt 7 verschiedene Teile, die in der Abbildung dargestellt sind:
Herausforderung
Wenn Sie eine Stückliste erhalten haben, geben Sie die Höhe aller Spalten von der Tafel aus, nachdem alle Stücke gefallen sind
Ein Stück besteht aus drei Zahlen: I, R und P. Die erste Zahl, I, ist die Kennung des Stücks (eine Zahl zwischen 1 und 7 in derselben Reihenfolge wie in der Abbildung). Die zweite Zahl, R, ist die Drehung des Stücks. Sie kann die Werte 0, 90, 180 oder 270 annehmen und repräsentiert den Drehwinkel des Werkstücks gegen den Uhrzeigersinn. Die dritte Zahl P gibt die Position des Teils an. Stellt die Spalte auf der linken Seite dar, die von dem Stück belegt ist (dies kann ein Index von 1 oder 0 sein. Bitte angeben).
Beispiel und Testfall (1 Index)
- Gegeben
[[1, 0, 1], [4, 0, 1], [5, 90, 4]]
- Ausgabe
[3, 3, 1, 3, 2]
- Gegeben
[[6, 270, 4], [1, 180, 5], [1, 90, 6], [7, 0, 4]]
- Ausgabe
[0, 0, 0, 9, 9, 8, 3, 3]
Gegebene
[[3,0,1],[3,180,3]]
Ausgabe[1,1,4,4,4]
Gegebene
[[2,180,1],[2,0,3]]
Ausgabe[2,2,4,3,3]
Anmerkungen
- Das ist Code-Golf
- Zeile / Spalte kann 1 oder 0 Index sein. Bitte spezifizieren.
- Sie können Eingabewerte neu definieren (möglicherweise möchten Sie Teil 1 als A usw. bezeichnen). In diesem Fall bitte angeben
Fragen
Können wir 4 verschiedene Werte anstelle eines Winkels in Grad verwenden ?: Ja
Sollen wir mit "Löchern" umgehen, wenn ein Teil nicht genau über die vorherigen passt ?: Ja
Ist die Höhe oder die Breite der Tafel begrenzt? Nein, weder die Breite noch die Höhe sind begrenzt
Danke @Arnauld für die Bilder und die Testfälle *. *
I
,R
undP
sein Eingang in einer anderen Reihenfolge?