페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2331

4의 배수 마방진 1s - MB

문제

마방진(魔方陣)은 n2개의 수를 가로, 세로, 대각선 방향의 수를 더하면 모두 같은 값이 나오도록 n×n 행렬에 배열한 것이다. 일반적으로 마방진의 각 칸에는 1부터 n2까지의 수가 한 개씩 들어간다. 마방진은 n이 2일 때를 제외하고 항상 존재한다(출처: 위키백과).

이번 문제는 n이 4의 배수일 경우의 마방진을 구하는 프로그램을 작성하는 것이다.

4의 배수 마방진을 구하는 방법은 다음과 같다.

1. 아래의 그림과 같이 영역을 9개의 구역으로 나눈다.

2. 위 그림에서 암회색으로 표시된 A, C, E, G, I영역을 글을 써 내려가듯이 위에서 아래쪽, 왼쪽에서 오른쪽 방향으로 숫자를 차례로 써 넣는다. 다음 그림은 2의 과정을 n이 4일 경우에 적용한 그림이다.

 

3. 맨 앞의 그림에서 밝은 회색의 나머지 영역은 끝에서 부터 2와는 역방향(아래에서 위로, 오른쪽에서 왼쪽) 으로 숫자를 차례대로 써 올라온다. 다음 그림은 3의 과정을 n이 4일 경우에 적용한 그림이다.


입력

입력은 100 이하의 정수 n이 입력된다.


출력

입력에 대해 위의 설명된 과정을 적용하여 출력되는 마방진을 출력하라. 출력 형식은 아래의 출력 예시와 같으며 같은 줄에 위치한 숫자 사이에는 빈칸이 하나 존재해야 한다.


예제

4
1 15 14 4

12 6 7 9
8 10 11 5
13 3 2 16

로그인해야 코드를 작성할 수 있어요.