도전:
정사각형 입력 행렬 A가 주어지면 행렬을 4면 모두에 1 행 1 열로 채 웁니다.
- 맨 위 및 맨 아래 행의 각 요소 값은 각 해당 열의 요소 합계 여야합니다.
- 왼쪽 및 오른쪽 열의 각 요소 값은 해당하는 각 행의 요소 합계 여야합니다.
- 왼쪽 상단과 오른쪽 하단에있는 요소의 값은 대각선에있는 요소의 합이어야합니다.
- 오른쪽 위와 왼쪽 아래 모서리에있는 요소의 값은 반 대각선에있는 요소의 합이어야합니다.
예:
A =
1 5 3
3 2 4
2 5 5
Output:
8 6 12 12 7
9 1 5 3 9
9 3 2 4 9
12 2 5 5 12
7 6 12 12 8
설명:
왼쪽 상단과 오른쪽 하단 요소는 대각선 1 + 2 + 5 = 8 의 합입니다 . 오른쪽 위와 왼쪽 아래 요소는 반 대각선 2 + 2 + 3 = 7의 합 입니다.
상단 및 하단 행 (코너 제외)은 A : 1 + 3 + 2 = 6 , 5 + 2 + 5 = 12 및 3 + 4 + 5 = 12 의 각 열의 합계입니다 . 마찬가지로 왼쪽 및 오른쪽 열 (코너 제외)은 A : 1 + 5 + 3 = 9 , 3 + 2 + 4 = 9 및 2 + 5 + 5 = 12 의 각 행의 합입니다 .
입력:
- 음이 아닌 정수가있는 비어 있지 않은 정사각 행렬.
- 선택적 형식
산출:
- 위에서 설명한대로 채워진 매트릭스
- 선택적 형식이지만 입력 형식과 같아야합니다.
테스트 사례 :
입력 형식을보다 적합한 형식으로 변환하려면 이 챌린지 에서 제출물을 사용하십시오 (예 [[1, 5],[0, 2]]
:).
0
----------------
0 0 0
0 0 0
0 0 0
1 5
0 2
----------------
3 1 7 5
6 1 5 6
2 0 2 2
5 1 7 3
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
----------------
65 65 65 65 65 65 65
65 17 24 1 8 15 65
65 23 5 7 14 16 65
65 4 6 13 20 22 65
65 10 12 19 21 3 65
65 11 18 25 2 9 65
65 65 65 65 65 65 65
15 1 2 12
4 10 9 7
8 6 5 11
3 13 14 0
----------------
30 30 30 30 30 30
30 15 1 2 12 30
30 4 10 9 7 30
30 8 6 5 11 30
30 3 13 14 0 30
30 30 30 30 30 30
이것은 code-golf 이므로 각 언어에서 가장 짧은 솔루션 이 승리합니다. 설명을 적극 권장합니다.