Das manuelle Summieren der Gesichter eines Cubical Cubes ist langwierig und zeitaufwendig und ähnelt dem Schreiben von Code in Cubical.
In Most efficiency cubifier habe ich Sie gebeten, ASCII in Cubically Source zu übersetzen. Eine der Antworten verwendet eine Cube-Initialisierungssequenz und modifiziert dann den resultierenden Cube basierend auf den Summen des vorinitialisierten Cubes. Diese Methode wurde seitdem in vielen Cubically-bezogenen Programmen verwendet. Beim Testen einer neuen Initialisierungssequenz müssen alle Werte auf allen Teilflächen addiert werden. Dies dauert normalerweise zwei oder drei Minuten.
Ihre Aufgabe ist es, diesen Prozess für uns zu automatisieren!
Sie nehmen zwei Eingaben, eine Ganzzahl n
und eine Zeichenfolge c
. Diese können aus Befehlszeilenargumenten, Funktionsargumenten, Standardeingaben, einer Datei oder einer beliebigen Kombination davon gelesen werden. c
wird ein kubischer Speicherwürfel sein, dessen Größe n
vom Interpreter hübsch gedruckt wird.
Der Cubically-Interpreter legt seinen Cube nach Programmende in STDERR ab und ist für die einfache Anzeige gut formatiert. Führen Sie im Cubically-Interpreter ein leeres Programm aus und öffnen Sie den Debug-Abschnitt, um den Cube-Dump eines initialisierten Cubes anzuzeigen . Fügen Sie ein Argument hinzu 4
, um einen 4x4x4 oder 5
einen 5x5x5 usw. zu sehen.
Wenn n
3 ist, c
wird das folgende Format verwendet (die Ganzzahlen sind variabel):
000
000
000
111222333444
111222333444
111222333444
555
555
555
Leerzeichen, Zeilenumbrüche und alles. Wenn n
4 ist, c
sieht das so aus (auch mit variablen ganzen Zahlen):
0000
0000
0000
0000
1111222233334444
1111222233334444
1111222233334444
1111222233334444
5555
5555
5555
5555
Und so weiter.
Ihr Programm gibt sechs Ganzzahlen aus. Die erste Ganzzahl ist die Summe aller Zahlen auf der Oberseite.
000
000 top face
000
111222333444 left, front, right, and back faces, respectively
111222333444
111222333444
555
555 bottom face
555
Die zweite Ganzzahl ist die Summe der linken Seite, die dritte der Vorderseite, die vierte der rechten, die fünfte der Rückseite und die sechste der Unterseite.
Wenn also n
3 war und c
dies war:
242
202
242
000131555313
010121535343
000131555313
424
454
424
Ihr Programm würde ausgeben 20 1 14 43 24 33
.
Zusätzliche Regeln:
- Die ausgegebenen Ganzzahlen müssen durch nicht ganzzahlige Zeichen begrenzt werden. Sie können auch ein Array zurückgeben.
- Sie können davon ausgehen, dass die Eingabe korrekt ist -
n
eine Ganzzahl undc
ein Würfel aus Cubicals Debugging-Ausgabe . Wenn alson
war3.0
undc
warfoo bar
, könnte Ihr Programm brechen und immer noch gültig sein. - Ihr Programm muss nur für
n > 1
und arbeitenn < 1260
. Es kann (versucht), größere oder kleinere Würfelgrößen zu verarbeiten, ist jedoch nicht erforderlich.
Das ist Code-Golf , also gewinnt der kürzeste Code! Wenn Sie Hilfe benötigen, können Sie im Cubically Chatroom nachfragen .
n
Leerzeichen nach jeder Zeile meinst , nein. Sie sind nicht im Dump enthalten.