코드 백업용
# p118
row, col = map(int, input().split())
x, y, d = map(int, input().split())
game_map = []
direction = [(-1,0), (0, 1), (1, 0), (0, -1)]
direction_back = [(1,0), (0, -1), (-1, 0), (0, 1)]
for i in range(row):
game_map.append([i for i in map(int, input().split())])
count = 1
game_map[x][y] = 2
def turn_left():
global d
if d == 0:
return 3
else:
return (d-1)
while True:
turn_x = x + direction[turn_left()][0]
turn_y = y + direction[turn_left()][1]
if game_map[turn_x][turn_y] == 0:
d = turn_left()
x += direction[d][0]
y += direction[d][1]
game_map[x][y] = 2
count += 1
else:
d = turn_left()
if (game_map[x+1][y] == 1 or game_map[x+1][y] == 2) and (game_map[x][y+1] == 1 or game_map[x][y+1] == 2) \
and (game_map[x-1][y] == 1 or game_map[x-1][y] == 2) and (game_map[x][y-1] == 1 or game_map[x][y-1] == 2):
x += direction_back[d][0]
y += direction_back[d][1]
if game_map[x][y] == 1:
break
print(count)
대충 30분정도 걸린 것 같은데, 개인적인 욕심으로는 구현속도를 더 늘리고 싶다