Вручну підсумовувати обличчя кубичного куба є втомливим і трудомістким, таким чином, як написання коду в самому кубічно.
У найефективнішому кубіфікаторі я попросив вас перекласти ASCII на кубічний джерело. Один з відповідей там використовує послідовність ініціалізації куба, а потім модифікує отриманий куб на основі сум попередньо ініціалізованого куба. Цей метод застосовується у багатьох програмах, пов’язаних з кубікою. Під час тестування нової послідовності ініціалізації потрібно додати всі значення на всіх гранях, що зазвичай займає дві-три хвилини.
Ваше завдання - автоматизувати цей процес для нас!
Ви візьмете два входи, ціле число nта рядок c. Вони можуть бути прочитані з аргументів командного рядка, аргументів функції, стандартного введення, файлу або будь-якої їх комбінації. cбуде кубиком пам'яті куба розміром, nяк симпатично надрукований перекладачем.
Кубічний перекладач скидає свій куб на STDERR після завершення програми, відформатований для простого перегляду. Запустіть порожню програму в інтерпретаторі Куб і відкрийте розділ налагодження, щоб побачити куб скидання ініціалізованого куба. Додайте аргумент, 4щоб побачити 4x4x4 або 5переглянути 5x5x5 тощо.
Якщо nце 3, cдотримуйтесь цього формату (цілі числа будуть змінними):
000
000
000
111222333444
111222333444
111222333444
555
555
555
Простори, нові лінії та інше. Якщо n4, 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пробіли після кожного рядка, ні. Вони не включаються до сміттєзвалища.