Вручну підсумовувати обличчя кубичного куба є втомливим і трудомістким, таким чином, як написання коду в самому кубічно.
У найефективнішому кубіфікаторі я попросив вас перекласти ASCII на кубічний джерело. Один з відповідей там використовує послідовність ініціалізації куба, а потім модифікує отриманий куб на основі сум попередньо ініціалізованого куба. Цей метод застосовується у багатьох програмах, пов’язаних з кубікою. Під час тестування нової послідовності ініціалізації потрібно додати всі значення на всіх гранях, що зазвичай займає дві-три хвилини.
Ваше завдання - автоматизувати цей процес для нас!
Ви візьмете два входи, ціле число n
та рядок c
. Вони можуть бути прочитані з аргументів командного рядка, аргументів функції, стандартного введення, файлу або будь-якої їх комбінації. c
буде кубиком пам'яті куба розміром, n
як симпатично надрукований перекладачем.
Кубічний перекладач скидає свій куб на STDERR після завершення програми, відформатований для простого перегляду. Запустіть порожню програму в інтерпретаторі Куб і відкрийте розділ налагодження, щоб побачити куб скидання ініціалізованого куба. Додайте аргумент, 4
щоб побачити 4x4x4 або 5
переглянути 5x5x5 тощо.
Якщо n
це 3, c
дотримуйтесь цього формату (цілі числа будуть змінними):
000
000
000
111222333444
111222333444
111222333444
555
555
555
Простори, нові лінії та інше. Якщо n
4, c
буде виглядати так (також зі змінними цілими числами):
0000
0000
0000
0000
1111222233334444
1111222233334444
1111222233334444
1111222233334444
5555
5555
5555
5555
Et cetera.
Ваша програма виведе шість цілих чисел. Першим цілим числом буде сума всіх чисел на верхній грані.
000
000 top face
000
111222333444 left, front, right, and back faces, respectively
111222333444
111222333444
555
555 bottom face
555
Другим цілим числом буде сума лівої грані, третьою передньою, четвертою правою, п'ятою задньою і шостою нижньою.
Тож якщо n
було 3 і c
було це:
242
202
242
000131555313
010121535343
000131555313
424
454
424
Ваша програма виводить 20 1 14 43 24 33
.
Додаткові правила:
- Вихідні цілі числа повинні бути обмежені нецілими символами. Ви також можете повернути масив.
- Ви можете припустити, що введення правильне -
n
це ціле число іc
є кубом з виводу налагодження Cubically . Тож якщоn
була3.0
іc
булаfoo bar
, ваша програма може зламатись і все-таки діяти. - У вашій програмі потрібно працювати лише для
n > 1
таn < 1260
. Він може (намагатися) обробляти більші або менші розміри кубів, але це не обов'язково.
Це код-гольф , тому найкоротший код виграє! Якщо вам потрібна допомога, не соромтеся запитати у кубічній кімнаті .
n
пробіли після кожного рядка, ні. Вони не включаються до сміттєзвалища.