introduzione
I tangram sono un puzzle classico che coinvolge l'organizzazione / il montaggio di blocchi in varie forme. Dal cinese 七巧板 - che significa letteralmente "sette assi di abilità". Prendiamo questa idea e usiamo i sette pezzi di Tetrominos per riempire una griglia.
Sfida
Scrivi una funzione o un programma che accetta come input una matrice di coordinate della griglia e genera una griglia 10 per 20 completata riempita con pezzi di Tetris tranne che nelle coordinate specificate.
Ottimizza il tuo punteggio cercando di mantenere uniforme la distribuzione dei pezzi.
criteri
Usa questo insieme di coordinate per completare il tuo compito. Esistono cinque serie di coordinate. Sentiti libero di modificare il formato in cui sono scritte le coordinate, ma non i valori.
Il set di dati n. 2 non può essere risolto: in questo caso, è sufficiente emettere la griglia con le celle di input riempite (ovvero, X
dove sono i fori).
Ingresso
Le coordinate della griglia rappresentano i "buchi" nella griglia. Queste sono celle che non possono contenere alcuna parte di un Tetromino.
Coordinate della griglia:
(0,0), (1,0), (2,0), ... (9,0)
(0,1), (1,1), (2,1), ... (9,1)
.
.
.
(0,19), (1,19), (2,19), ... (9,19)
Usa lo stile di array scelto dal tuo linguaggio di programmazione per inserire le coordinate.
Rappresenta i buchi nella griglia con un ASCII
X
o altro stampabile .
Produzione
Utilizzando una griglia Tetris standard di 10 celle di larghezza per 20 celle di altezza , stampare una griglia di soluzione se e solo se la griglia può essere riempita completamente e perfettamente usando pezzi di Tetromino.
Pezzi costruiti con le lettere I
, O
, L
, J
, T
, Z
, S
come segue:
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
Esempio
Esempio di soluzione di output senza coordinate di input:
ZZIIIILLLI
JZZTTTLLLI
JJJSTLOOLI
SZZSSLOOLI
SSZZSLLJJI
TSOOSLLJII
TTOOSSLJII
TZOOSSLZII
ZZOOSSZZII
ZJJJJSZLLI
TTTJJOOILI
ITZJJOOILI
IZZTTTLIII
IZOOTZLIII
IJOOZZLLII
LJJJZSSTII
LLLTSSTTTI
LLLTTSSZJI
OOLTSSZZJI
OOIIIIZJJI
Con distribuzione come segue:
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
Appunti
Le coordinate rappresentano un singolo X
e una Y
posizione sulla griglia. La griglia è basata su 0, il che significa che le coordinate (0,0)
dovrebbero essere la cella in alto a sinistra o in basso a sinistra, a scelta dell'autore.
I mattoni possono:
- essere selezionato a discrezione dell'autore.
- essere ruotato quando l'autore lo ritiene opportuno.
- essere posizionato sulla griglia ovunque a discrezione dell'autore (aka: nessuna gravità Tetris)
I mattoni non possono:
- essere posizionato al di fuori dei limiti della griglia.
- sovrapporre un mattone o un buco esistente nella griglia.
- essere un pezzo tetromino non standard di Tetris.
punteggio
Il tuo punteggio è nel formato:
(1000 - [byte nel codice]) * (M / 10 + 1)
Dove M è un moltiplicatore per la distribuzione di pezzi utilizzati nei set di soluzioni.
Il punteggio più alto ottenuto dalle Ides di marzo vince.
Per calcolare M, aggiungi il valore di distribuzione tetromino individuale più basso per ogni set e quindi prendi la media arrotondata per difetto per calcolare M.
Per esempio:
Set 1: 5
Set 2: 4
Set 3: 5
Set 4: 6
Set 5: 3
6 + 4 + 5 + 4 + 4 = 21/5 = 4.6
Quindi useresti 4
come valore M.
Nota: se un set non ha soluzione, non tener conto di quel set nel calcolo di M, poiché non avrebbe distribuzione tetromino.