Informatica Online Judge

  홀수 마방진 [1979 / 07BB]

Time Limit(Test case) : 1000 (ms)
Number of users who solved : 59   Total Tried : 60


The Champion of this Problem (C++) : gs17067 - 0ms / 182byte
My Best Submission (C++) : N/A

[coudeup.kr]

Background

마방진(magic square)이란 가로, 세로, 대각선의 합이 같은 사각형을 말한다.

홀수 n 을 입력으로 받아 n * n 홀수 마방진을 구하고자 한다.

구현 방법은

1. 시작은 첫 행 , 중간 열 에서 1 을 두고

2. 행을 감소, 열을 증가하면서 순차적으로 수를 넣어간다.

3. 행은 감소하므로 행이 첫 행보다 작아지는 경우는 행은 마지막 행으로 넘어간다.

4. 열은 증가하므로 열이 끝 열을 넘어가는 경우 열은 첫 열로 넘어간다.

5. 테이블에 들어간 수가 n 의 배수이면 행만 증가(열은 변화없음)

Input

홀수 n이 입력된다.(n<=49)

Output

위의 조건을 토대로 크기가 n인 마방진을 출력한다.

IO Example

입력
3

출력
8 1 6
3 5 7
4 9 2

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]