입방체 큐브의 얼굴을 수동으로 합산하는 것은 입방체 자체에서 코드를 작성하는 것과 같이 지루하고 시간 소모적입니다.
에서 가장 효율적인 cubifier , 나는 입체적 소스에 ASCII 번역을 요청했다. 거기에 대한 답변 중 하나는 큐브 초기화 시퀀스를 사용한 다음 사전 초기화 된 큐브의 합계를 기반으로 결과 큐브를 수정합니다. 이 방법은 이후 많은 Cubically 관련 프로그램에서 사용되었습니다. 새로운 초기화 순서를 테스트 할 때는 모든 얼굴에 모든 값을 더해야하는데 보통 2 ~ 3 분이 걸립니다.
당신의 임무는 우리를 위해이 과정을 자동화하는 것입니다!
정수 n
와 문자열의 두 가지 입력을 c
받습니다. 이들은 명령 행 인수, 함수 인수, 표준 입력, 파일 또는 이들의 조합에서 읽을 수 있습니다. c
될 것 입체적으로 메모리 큐브 크기의 n
인터프리터에 의해 꽤 인쇄한다.
Cubically 인터프리터는 프로그램 종료시 큐브를 STDERR에 덤프하여 간단한보기를 위해 멋지게 형식화합니다. Cubically 인터프리터 에서 빈 프로그램을 실행 하고 디버그 섹션을 열어 초기화 된 큐브의 큐브 덤프를 확인하십시오. 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
등등.
프로그램은 6 개의 정수를 출력합니다. 첫 번째 정수는 윗면의 모든 숫자의 합입니다.
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
. 정수이고 Cubically의 디버깅 출력의c
큐브입니다 . 따라서 was and was 인 경우 프로그램이 중단되어 여전히 유효 할 수 있습니다.n
3.0
c
foo bar
- 귀하의 프로그램은
n > 1
및에 대해서만 작동하면n < 1260
됩니다. 크 거나 작은 큐브 크기를 처리하려고 시도 할 수 있지만 반드시 필요한 것은 아닙니다.
이것은 code-golf 이므로 가장 짧은 코드가 승리합니다! 도움이 필요하면 Cubically 대화방 에 문의하십시오 .
n
모든 줄 다음에 공백이 있으면 @ fireflame241 덤프에는 포함되지 않습니다.