[BOJ] 자리배정
Date:
[BOJ] 자리배정
Problem URL : 자리배정
d = {0: (0, 1), 1: (1, 0), 2: (0, -1), 3: (-1, 0)}
c, r = map(int, input().split())
N = int(input())
visit = [[0] * (r + 1) for _ in range(c + 1)]
dir = 0
cnt = 1
x = 1
y = 0
if N > r * c:
print(0)
exit()
dx = d[dir][0]
dy = d[dir][1]
while True:
dx = d[dir][0]
dy = d[dir][1]
while 1 <= x + dx <= c and 1 <= y + dy <= r and visit[x + dx][y + dy] == 0:
x = x + dx
y = y + dy
visit[x][y] = cnt
if cnt == N:
print(x, y)
exit()
cnt = cnt + 1
dir = (dir + 1) % 4
Comments
처음에는 재귀로 풀었는데 Recursion Error 가 떠서 반복문으로 고쳤다.
그 외에도 가로, 세로가 헷갈려서 Index Error가 몇번 떳었다 ㅠ
댓글