Ручное суммирование граней кубического куба утомительно и отнимает много времени, что-то вроде написания кода в самой кубической форме.
В наиболее эффективном кубизаторе я попросил вас перевести ASCII на кубический источник. В одном из ответов используется последовательность инициализации куба, а затем изменяется полученный куб на основе сумм предварительно инициализированного куба. С тех пор этот метод использовался во многих кубических программах. При тестировании новой последовательности инициализации необходимо сложить все значения на всех гранях, что обычно занимает две или три минуты.
Ваша задача - автоматизировать этот процесс для нас!
Вы получите два ввода, целое число n
и строку c
. Они могут быть прочитаны из аргументов командной строки, аргументов функции, стандартного ввода, файла или любой их комбинации. c
будет куб кубической памяти размером, n
как красиво напечатано переводчиком.
Интерпретатор кубически выдает свой куб в STDERR после завершения программы, отформатированный для простого просмотра. Запустите пустую программу в интерпретаторе Cubical и откройте раздел отладки, чтобы увидеть дамп куба инициализированного куба. Добавьте аргумент, 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
И так далее.
Ваша программа выведет шесть целых чисел. Первое целое число будет суммой всех чисел на верхней грани.
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
куб из кубического отладочного вывода . Так что, еслиn
было3.0
иc
былоfoo bar
, ваша программа могла сломаться и все еще быть действительной. - Ваша программа должна работать только для
n > 1
иn < 1260
. Он может (пытаться) обрабатывать кубы большего или меньшего размера, но это не обязательно.
Это код-гольф , поэтому выигрывает самый короткий код! Если вам нужна помощь, не стесняйтесь спрашивать в кубическом чате .
n
пробелы после каждой строки, нет. Они не включены в свалку.