n = int(input())
k = int(input())
g = [[0] * n for _ in range(n)]
dx = [0, 1, 0, -1]
dy = [1, 0, -1, 0]
for _ in range(k):
a, b = map(int, input().split())
g[a-1][b-1] = 1
l = int(input())
rotate = []
time = []
for _ in range(l):
d = 1
a, b = map(str, input().split())
time.append(int(a))
if b == 'L':
d = -1
rotate.append(d)
k = 0
snake = [(0, 0)]
t = 1
while True:
hx, hy = snake[-1]
hx , hy = hx + dx[k], hy +dy[k]
if hx < 0 or hy < 0 or hx >= n or hy >= n or (hx, hy) in snake:
break
snake.append((hx , hy))
if g[hx][hy] == 1:
g[hx][hy] = 0
else:
snake.remove(snake[0])
if t in time:
k = (k + rotate[0]) % 4
del rotate[0]
del time[0]
t += 1
print(t)
구현 문제, 시간 증가 시점에서 조금 헷갈렸다. 방향을 전환하고 시간을 증가시켜야함