이 스택 오버플로 질문에서 영감을 얻었습니다 .
도전
입력
음이 아닌 정수를 포함하는 제곱 행렬의 배열입니다.
산출
다음과 같이 입력 행렬로 구성된 정사각 행렬입니다.
하자 각 입력 행렬의 크기 및 수 입력 행렬의 수.
명확성을 위해 다음 예제 입력 행렬 ( , )을 고려하십시오.
3 5
4 10
6 8
12 11
2 0
9 1
- 첫 번째 입력 행렬로 시작하십시오.
- 왼쪽 위 항목이 이전 항목의 오른쪽 아래 항목과 일치하도록 두 번째 입력 행렬 N -1 단계 아래로 N -1 단계 오른쪽으로 이동합니다.
첫 번째 위에 쌓인 것처럼 두 번째로 쉬프트 된 행렬을 상상해보십시오. 일치 항목에서 두 값을 합산하십시오. 다른 값을 쓰고 나머지 항목을 채워 ( 2 N - 1 ) × ( 2 N - 1 ) 행렬
0을 얻습니다 . 예제 입력으로 지금까지의 결과는3 5 0 4 16 8 0 12 11남아있는 각 입력 행렬에 대해 왼쪽 상단이 누적 된 결과 행렬의 오른쪽 하단과 일치하도록 엇갈리게 배치합니다. 이 예에서 세 번째 입력 행렬을 포함하면
3 5 0 0 4 16 8 0 0 12 13 0 0 0 9 1출력은 마지막 입력 행렬을 포함시킨 후 얻은 행렬입니다.
추가 규칙 및 설명
- 및 는 양의 정수입니다.
- 선택적으로 과 를 추가 입력으로 사용할 수 있습니다 .
- 입력 및 출력은 합리적인 방법 으로 수행 할 수 있습니다 . 그들의 형식은 평소처럼 유연합니다.
- 모든 프로그래밍 언어의 프로그램 또는 기능이 허용 됩니다 . 표준 허점은 금지되어 있습니다.
- 바이트 단위의 짧은 코드가 이깁니다.
테스트 사례 :
각각의 경우, 입력 매트릭스가 먼저 표시된 다음 출력이 표시됩니다.
, :
3 5 4 10 6 8 12 11 2 0 9 1 3 5 0 0 4 16 8 0 0 12 13 0 0 0 9 1, :
3 5 4 10 3 5 4 10, :
4 7 23 5 39, :
11 11 8 6 8 12 11 0 4 4 1 13 9 19 11 13 4 2 11 11 8 0 0 6 8 12 0 0 11 0 8 1 13 0 0 9 19 11 0 0 13 4 2, :
14 13 10 0 13 20 21 3 9 22 0 8 17 3 19 16 14 13 0 0 0 10 13 20 0 0 0 21 12 22 0 0 0 0 25 3 0 0 0 19 16