Sei stufo di altri giocatori che annunciano compiaciuto "BINGO" e ti passano davanti trionfalmente per ottenere il loro premio. Questa volta sarà diverso. Hai corrotto il chiamante per darti in anticipo le chiamate BINGO , nell'ordine in cui verranno chiamate. Ora devi solo creare una tavola BINGO che vincerà il prima possibile per quelle chiamate, garantendoti una vittoria (o un pareggio improbabile).
Data una stringa o un elenco delimitato di chiamate in ordine, nel tipico formato BINGO (lettere incluse, ad esempio B9o G68, vedere le regole per ulteriori informazioni), genera una matrice o un elenco 2D che rappresenta una scheda BINGO ottimale per tali chiamate. Supponiamo che l'input sia sempre valido.
Regole BINGO:
- Scheda 5x5
- Un "BINGO" è quando la tua carta ha 5 numeri di fila dai numeri che sono stati chiamati finora.
- Il quadrato centrale è libero (conteggiato automaticamente verso un BINGO) e può essere rappresentato da spazi bianchi, un elenco vuoto
-1o0. - 5 colonne sono rappresentate dalle lettere
B,I,N,G,O, rispettivamente. - La prima colonna può contenere i numeri 1-15, la seconda 16-30, ... e la quinta 61-75.
- Le lettere e i numeri presi per l'input possono facoltativamente essere delimitati (da qualcosa che ha un senso, come uno
,o uno spazio) o presi come una tupla di un personaggio e un numero. - L'output richiede solo numeri in ogni posizione della matrice.
- I quadrati che non contribuiranno al tuo BINGO iniziale devono essere validi, ma non devono essere ottimali.
- Questo è code-golf, vince il codice più corto
Esempi:
Sto usando questo formato di input per gli esempi, perché è più breve. Vedere la sezione sopra per formati di input / output accettabili.
O61 B2 N36 G47 I16 N35 I21 O64 G48 O73 I30 N33 I17 N43 G46 O72 I19 O71 B14 B7 G50 B1 I22 B8 N40 B13 B6 N37 O70 G55 G58 G52 B3 B4 N34 I28 I29 O65 B11 G51 I23 G56 G59 I27 I25 G54 O66 N45 O67 O75 N42 O62 N31 N38 N41 G57 N39 B9 G60 I20 N32 B15 O63 N44 B10 I26 O68 G53 I18 B12 O69 G49 B5 O74 I24
Possible Output (this has a horizontal BINGO in 3rd row. A diagonal is also possible.):
[[11,25,42,53,68],
[ 6,22,32,57,62],
[ 2,16, 0,47,61],
[ 3,17,37,59,75],
[ 9,19,41,46,70]]
N42 N34 O66 N40 B6 O65 O63 N41 B3 G54 N45 I16 O67 N31 I28 B2 B14 G51 N36 N33 I23 B11 I17 I27 N44 I24 O75 N38 G50 G58 B12 O62 I18 B5 O74 G60 I26 B8 I22 N35 B1 B4 G53 O73 G52 O68 B10 O70 I30 G59 N43 N39 B9 G46 G55 O64 O61 I29 G56 G48 G49 I19 G57 N37 O72 I25 N32 B13 B7 B15 O71 I21 I20 O69 G47
Must be a vertical BINGO in 3rd (N) column (because 4 N's came before one of each B,I,G,O):
[[11,25,42,53,63],
[ 2,22,34,57,65],
[ 6,16, 0,47,66],
[ 3,17,41,54,75],
[ 9,19,40,46,70]]
The 5 columns are represented by the letters B,I,N,G,O, respectively.