| ps | |
|---|---|
| 링크 | acmicpc.net/… |
| 출처 | BOJ |
| 문제 번호 | 33274 |
| 문제명 | 적당한 휴식은 필수 |
| 레벨 | 골드 2 |
| 분류 |
애드 혹 |
| 시간복잡도 | O(n^2) |
| 인풋사이즈 | n<=2000 |
| 사용한 언어 | Python 3.13 |
| 제출기록 | 62676KB / 148ms |
| 최고기록 | 148ms |
| 해결날짜 | 2026/03/11 |
0 0 0 0 0 1 1 0 0 0 0 2 2 0 0 ... 0 0 3 3 0 0 0 0 4 4 ...
0 0 0 0 0 0 0 1 0 ... 0 0 0 0 0 2 0 0 0 . . . . . . 0 0 N/2 3N/2-3 0 0 0 N/2 0. ... 0 3N/2-2 0 N/2 0 0 0 0 3N/2x-1
N=6 이라면 이렇게 된다 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 3 6 0 0 0 3 0 0 7 0 3 0 0 0 0 8
2N-4 0..0 1
0 XXXX 0
... XXXX ...
XXXX
0 XXXX 0
0 0..0 2N-2
N=6 이라면 이렇게 된다 8 0 0 0 0 1 0 4 0 0 1 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 0 0 6 0 0 0 0 0 0 10
"""Solution code for "BOJ 33274. 적당한 휴식은 필수".
- Problem link: https://www.acmicpc.net/problem/33274
- Solution link: http://www.teferi.net/ps/problems/boj/33274
Tags: [ad hoc]
"""
def main():
N = int(input())
answer = [['0'] * N for _ in range(N)]
if N % 2 == 0:
for i in range(N // 2):
answer[i][i] = str(i * 4)
answer[-i - 1][-i - 1] = str(i * 4 + 2)
answer[-i - 1][i] = '1'
else:
for i in range(1, N):
answer[i][i] = answer[i - 1][i] = str(i)
for row in answer:
print(' '.join(row))
if __name__ == '__main__':
main()