(Ispirato casualmente da https://codegolf.meta.stackexchange.com/a/17272/42963 )
Data una matrice rettangolare di cifre (cioè, 0 - 9
), emette i "pezzi" della matrice come se le cifre fossero collegate insieme formando un singolo pezzo, in ordine crescente dalle cifre. I pezzi sono garantiti per il collegamento solo ortogonalmente - nessun pezzo si collegherà in diagonale. Ci saranno sempre e solo un massimo di 10 pezzi (ovvero, un 3
pezzo non apparirà due volte nella stessa matrice).
Ad esempio, data la matrice
0 1 1 1
0 0 1 2
3 3 2 2
i seguenti sono i pezzi e un esempio di output:
0
0 0
1 1 1
1
2
2 2
3 3
La spaziatura è importante per mantenere la forma dei pezzi, ma i pezzi non necessitano necessariamente di spaziatura interna. I pezzi stessi dovrebbero in qualche modo essere distinti in modo coerente (ad esempio, una nuova riga tra i pezzi, assicurandosi che ognuno di essi abbia un carattere diverso, ecc.). Inoltre, non sono consentiti spazi bianchi estranei (ad esempio newline finali o colonne iniziali). Ad esempio, sarebbe valido anche quanto segue:
0
00
111
1
2
22
33
o
#
##
###
#
#
##
##
Ma quanto segue non sarebbe (notare gli spazi finali dietro la 0
s):
0
0 0
Rotazioni o riflessi non sono ammessi. Ad esempio, in uscita
1
111
per la matrice sopra non è valido.
I pezzi della matrice possono avere buchi o essere solo un singolo elemento:
0 0 0 1
0 2 0 1
0 0 0 3
Oppure, il pezzo può essere l'intera matrice:
0 0 0
0 0 0
Ecco un caso di prova più ampio e complicato:
1 1 1 1 1 2 2
3 4 4 4 2 2 2
5 5 4 4 2 0 0
5 6 6 6 6 7 7
5 6 8 8 6 6 7
9 6 6 6 7 7 7
E un esempio di output:
00
11111
22
222
2
3
444
44
55
5
5
6666
6 66
666
77
7
777
88
9
Regole e I / O
- Input e output possono essere forniti con qualsiasi metodo conveniente .
- È possibile stamparlo su STDOUT o restituirlo come risultato di una funzione.
- È accettabile un programma completo o una funzione.
- È richiesto lo spazio bianco principale per mantenere la forma (ad esempio, la forma a "T"
1
nell'esempio), spazi bianchi coerenti per rendere distinti i pezzi e è consentita una sola nuova riga finale alla fine, ma non sono ammessi altri spazi bianchi. - Puoi tranquillamente supporre che i pezzi siano numerati
0
in modoN
contiguo, il che significa che (ad esempio)3
non verrebbero ignorati in una matrice di sei pezzi. - Sono vietate le scappatoie standard .
- Si tratta di code-golf, quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).
0
come valore di riempimento? Quindi ogni pezzo verrebbe prodotto con il resto dei valori nella matrice impostato su0
-1
Tuttavia, produrre un'intera matrice per ogni pezzo con o qualche altro valore invece di niente / spazi bianchi non sarebbe OK.
' '
) dovrebbe essere usato in quel caso?
-1
o uno spazio che rappresenta uno spazio vuoto o l'assenza di un elemento se possibile)?