La somme manuelle des faces d'un cube Cubically est fastidieuse et prend du temps, comme l'écriture de code dans Cubically lui-même.
Dans Cubifier le plus efficace , je vous ai demandé de traduire ASCII en source cubique. L'une des réponses utilise une séquence d'initialisation de cube, puis modifie le cube résultant en fonction des sommes du cube pré-initialisé. Depuis, cette méthode a été utilisée dans de nombreux programmes liés à Cubic. Lors du test d'une nouvelle séquence d'initialisation, il faut additionner toutes les valeurs sur toutes les faces, ce qui prend généralement deux ou trois minutes.
Votre tâche est d'automatiser ce processus pour nous!
Vous prendrez deux entrées, un entier n
et une chaîne c
. Ceux-ci peuvent être lus à partir des arguments de ligne de commande, des arguments de fonction, de l'entrée standard, d'un fichier ou de toute combinaison de ceux-ci. c
sera un cube de mémoire cubique de la taille n
comme joliment imprimé par l'interpréteur.
L'interpréteur Cubically transfère son cube vers STDERR à la fin du programme, formaté correctement pour une visualisation simple. Exécutez un programme vide dans l' interpréteur Cubically et ouvrez la section de débogage pour voir le vidage de cube d'un cube initialisé. Ajoutez un argument 4
pour voir un 4x4x4, ou 5
pour voir un 5x5x5, etc.
Si n
est 3, c
suivra ce format (les entiers seront variables):
000
000
000
111222333444
111222333444
111222333444
555
555
555
Espaces, nouvelles lignes et tout. Si n
est 4, c
ressemblera à ceci (également avec des entiers variables):
0000
0000
0000
0000
1111222233334444
1111222233334444
1111222233334444
1111222233334444
5555
5555
5555
5555
Etc.
Votre programme affichera six entiers. Le premier entier sera la somme de tous les nombres sur la face supérieure.
000
000 top face
000
111222333444 left, front, right, and back faces, respectively
111222333444
111222333444
555
555 bottom face
555
Le deuxième entier sera la somme de la face gauche, la troisième de l'avant, la quatrième de droite, la cinquième de l'arrière et la sixième du bas.
Donc, si n
c'était 3 et c
était-ce:
242
202
242
000131555313
010121535343
000131555313
424
454
424
Votre programme sortira 20 1 14 43 24 33
.
Règles supplémentaires:
- Les entiers en sortie doivent être délimités par des caractères non entiers. Vous pouvez également choisir de renvoyer un tableau.
- Vous pouvez supposer que l'entrée est correcte -
n
est un entier etc
est un cube de la sortie de débogage de Cubically . Donc, sin
c'était3.0
etc
étaitfoo bar
, votre programme pourrait se casser et être toujours valide. - Votre programme ne doit fonctionner que pour
n > 1
etn < 1260
. Il peut (tenter de) gérer des tailles de cube plus grandes ou plus petites, mais ce n'est pas nécessaire.
C'est le code-golf , donc le code le plus court gagne! Si vous avez besoin d'aide, n'hésitez pas à demander dans le salon de discussion Cubically .
n
espaces après chaque ligne, non. Ils ne sont pas inclus dans le dépotoir.