Ręczne sumowanie ścian Cubic Cubic jest żmudne i czasochłonne, trochę jak pisanie kodu w Cubically.
W „ Najbardziej wydajnym kubizatorze” poprosiłem cię o przetłumaczenie ASCII na źródło sześcienne. Jedna z odpowiedzi tam wykorzystuje sekwencję inicjalizacji kostki, a następnie modyfikuje wynikową kostkę na podstawie sum wstępnie zainicjowanej kostki. Od tego czasu ta metoda jest używana w wielu programach związanych z kubią. Podczas testowania nowej sekwencji inicjalizacji należy zsumować wszystkie wartości na wszystkich twarzach, co zwykle zajmuje dwie lub trzy minuty.
Twoim zadaniem jest zautomatyzowanie tego procesu dla nas!
Weźmiesz dwa dane wejściowe, liczbę całkowitą n
i ciąg c
. Można je odczytać z argumentów wiersza poleceń, argumentów funkcji, standardowego wejścia, pliku lub dowolnej ich kombinacji. c
będzie sześcianową kostką pamięci o wielkości n
wydrukowanej przez tłumacza.
Interpretator sześcienny zrzuca swoją kostkę do STDERR po zakończeniu programu, ładnie sformatowany dla łatwego przeglądania. Uruchom pusty program w interpretatorze sześciennym i otwórz sekcję debugowania, aby zobaczyć zrzut kostki zainicjowanej kostki. Dodaj argument, 4
aby zobaczyć 4x4x4 lub 5
5x5x5 itp.
Jeśli n
ma wartość 3, c
zastosuje ten format (liczby całkowite będą zmienne):
000
000
000
111222333444
111222333444
111222333444
555
555
555
Spacje, znaki nowej linii i inne. Jeśli n
jest 4, c
będzie wyglądać tak (również ze zmiennymi liczbami całkowitymi):
0000
0000
0000
0000
1111222233334444
1111222233334444
1111222233334444
1111222233334444
5555
5555
5555
5555
I tak dalej.
Twój program wyświetli sześć liczb całkowitych. Pierwsza liczba całkowita będzie sumą wszystkich liczb na górnej powierzchni.
000
000 top face
000
111222333444 left, front, right, and back faces, respectively
111222333444
111222333444
555
555 bottom face
555
Druga liczba całkowita będzie sumą lewej twarzy, trzecia z przodu, czwarta z prawej, piąta z tyłu i szósta z dołu.
Więc jeśli n
było 3, a c
było to:
242
202
242
000131555313
010121535343
000131555313
424
454
424
Twój program wyświetli 20 1 14 43 24 33
.
Dodatkowe zasady:
- Wyjściowe liczby całkowite muszą być rozdzielane znakami niecałkowitymi. Możesz także zwrócić tablicę.
- Możesz założyć, że dane wejściowe są prawidłowe -
n
jest liczbą całkowitą ic
jest sześcianem z wyjścia debugowania Cubically . Więc jeślin
był3.0
ic
byłfoo bar
, twój program może się zepsuć i nadal być ważny. - Twój program musi działać tylko dla
n > 1
in < 1260
. To może (próbować) obsłużyć większe lub mniejsze rozmiary kostki, ale nie jest to konieczne.
To jest kod-golf , więc wygrywa najkrótszy kod! Jeśli potrzebujesz pomocy, możesz poprosić o pokój na czacie Cubically .
n
spacje po każdej linii, nie. Nie są uwzględnione w zrzutu.