Einführung
Tangrams sind ein klassisches Puzzle, bei dem Blöcke in verschiedenen Formen angeordnet / angebracht werden. Aus dem Chinesischen 七巧板 - bedeutet wörtlich "sieben Bretter des Könnens". Nehmen wir diese Idee und verwenden Sie die sieben Tetrominos füllen ein Gitter .
Herausforderung
Schreiben Sie eine Funktion oder ein Programm, das ein Array von Gitterkoordinaten als Eingabe verwendet und ein fertiges 10 x 20-Gitter ausgibt, das mit Tetris-Teilen gefüllt ist, mit Ausnahme der angegebenen Koordinaten.
Optimieren Sie Ihre Punktzahl, indem Sie versuchen, die Verteilung der Teile gleichmäßig zu gestalten.
Kriterien
Verwenden Sie diesen Pastebin Koordinaten- , um Ihre Aufgabe zu erledigen. Es gibt fünf Koordinatensätze. Sie können das Format ändern, in dem die Koordinaten geschrieben werden, nicht jedoch die Werte.
Datensatz 2 kann nicht gelöst werden. In diesem Fall geben Sie das Raster einfach mit ausgefüllten Eingabezellen aus (z. B. X
wo sich die Löcher befinden).
Eingang
Gitterkoordinaten repräsentieren "Löcher" im Gitter. Dies sind Zellen, die keinen Teil eines Tetrominos enthalten können.
Gitterkoordinaten:
(0,0), (1,0), (2,0), ... (9,0)
(0,1), (1,1), (2,1), ... (9,1)
.
.
.
(0,19), (1,19), (2,19), ... (9,19)
Verwenden Sie den Array-Stil Ihrer Programmiersprache, um die Koordinaten einzugeben.
Stellen Sie Löcher im Raster mit einem
X
oder einem anderen druckbaren ASCII-Code dar .
Ausgabe
Drucken Sie ein Lösungsraster mit einer Standard-Tetris-Rastergröße von 10 Zellen Breite mal 20 Zellen Höhe , wenn das Raster vollständig und perfekt mit Tetromino-Stücken gefüllt werden kann.
Stücke mit Buchstaben konstruiert I
, O
, L
, J
, T
, Z
, S
wie folgt:
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
Beispiel
Ausgabelösungsbeispiel ohne Eingabekoordinaten:
ZZIIIILLLI
JZZTTTLLLI
JJJSTLOOLI
SZZSSLOOLI
SSZZSLLJJI
TSOOSLLJII
TTOOSSLJII
TZOOSSLZII
ZZOOSSZZII
ZJJJJSZLLI
TTTJJOOILI
ITZJJOOILI
IZZTTTLIII
IZOOTZLIII
IJOOZZLLII
LJJJZSSTII
LLLTSSTTTI
LLLTTSSZJI
OOLTSSZZJI
OOIIIIZJJI
Mit Verteilung wie folgt:
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
11 6 8 6 6 7 6
Anmerkungen
Koordinaten repräsentiert eine einzelne X
und Y
Position auf dem Gitter. Das Gitter basiert auf 0, dh die Koordinate (0,0)
sollte entweder die linke obere oder die linke untere Zelle sein, die vom Autor gewählt wird.
Ziegel können:
- nach Ermessen des Autors ausgewählt werden.
- nach Belieben des Autors gedreht werden.
- irgendwo im Ermessen des Autors auf dem Gitter platziert werden (auch bekannt als: keine Tetris-Schwerkraft)
Ziegel können nicht:
- außerhalb der Grenzen des Rasters platziert werden.
- Überlappen Sie einen vorhandenen Baustein oder ein Loch im Raster.
- ein Tetris-Tetromino-Stück sein, das nicht dem Standard entspricht.
Wertung
Ihre Punktzahl hat das Format:
(1000 - [Byte im Code]) * (M / 10 + 1)
Wobei M ein Multiplikator für die Verteilung der in Ihren Lösungssätzen verwendeten Teile ist.
Höchste Punktzahl bei den Ides of March-Siegen.
Um M zu berechnen, addieren Sie den niedrigsten einzelnen Tetromino-Verteilungswert für jeden Satz und berechnen Sie dann M durch Abrunden des Durchschnitts.
Beispielsweise:
Set 1: 5
Set 2: 4
Set 3: 5
Set 4: 6
Set 5: 3
6 + 4 + 5 + 4 + 4 = 21/5 = 4,6
Also würden Sie 4
als Ihren M- Wert verwenden.
Anmerkung: Wenn eine Menge keine Lösung hat, berücksichtigen Sie diese Menge nicht bei der Berechnung von M, da sie keine Tetrominoverteilung haben würde.