Sommare manualmente le facce di un cubo cubico è noioso e richiede molto tempo, un po 'come scrivere codice in Cubicamente stesso.
Nel cubificatore più efficiente , ti ho chiesto di tradurre ASCII in sorgente cubica. Una delle risposte usa una sequenza di inizializzazione del cubo e quindi modifica il cubo risultante in base alle somme del cubo pre-inizializzato. Da allora questo metodo è stato utilizzato in molti programmi cubicamente correlati. Quando si verifica una nuova sequenza di inizializzazione, è necessario sommare tutti i valori su tutte le facce, che in genere richiedono due o tre minuti.
Il tuo compito è automatizzare questo processo per noi!
Prenderai due input, un numero intero n
e una stringa c
. Questi possono essere letti da argomenti della riga di comando, argomenti di funzioni, input standard, un file o qualsiasi combinazione di questi. c
sarà un cubo di memoria cubicamente di dimensioni n
come stampato dall'interprete.
L'interprete cubico scarica il suo cubo su STDERR al termine del programma, formattato piacevolmente per una semplice visualizzazione. Esegui un programma vuoto nell'interprete cubico e apri la sezione debug per vedere il dump del cubo di un cubo inizializzato. Aggiungi un argomento 4
per vedere un 4x4x4 o 5
per vedere un 5x5x5, ecc.
Se n
è 3, c
seguirà questo formato (i numeri interi saranno variabili):
000
000
000
111222333444
111222333444
111222333444
555
555
555
Spazi, newline e tutti. Se n
è 4, c
apparirà così (anche con numeri interi variabili):
0000
0000
0000
0000
1111222233334444
1111222233334444
1111222233334444
1111222233334444
5555
5555
5555
5555
Eccetera.
Il tuo programma genererà sei numeri interi. Il primo numero intero sarà la somma di tutti i numeri nella faccia superiore.
000
000 top face
000
111222333444 left, front, right, and back faces, respectively
111222333444
111222333444
555
555 bottom face
555
Il secondo numero intero sarà la somma della faccia sinistra, il terzo il fronte, il quarto il diritto, il quinto il retro e il sesto il fondo.
Quindi se n
fosse 3 ed c
era questo:
242
202
242
000131555313
010121535343
000131555313
424
454
424
Il tuo programma verrebbe prodotto 20 1 14 43 24 33
.
Regole aggiuntive:
- Gli interi di output devono essere delimitati da caratteri non interi. Puoi anche scegliere di restituire un array.
- Si può presumere che l'input sia corretto:
n
è un numero intero edc
è un cubo dall'output di debug di Cubically . Quindi, sen
fosse3.0
edc
erafoo bar
, il tuo programma potrebbe interrompersi ed essere ancora valido. - Il tuo programma deve funzionare solo per
n > 1
en < 1260
. Si può (tentare di) gestire dimensioni del cubo più o meno grandi, ma non è necessario.
Questo è code-golf , quindi vince il codice più corto! Se hai bisogno di aiuto, sentiti libero di chiedere nella chat di Cubically .
n
spazi dopo ogni riga, no. Non sono inclusi nella discarica.