Recent Posts
Notice
No Rules Rules
로봇 청소기 (feat. 백준, 14503번) 본문
728x90
반응형
로봇 청소기
https://www.acmicpc.net/problem/14503
반응형
# woohyeon.kim
N, M = map(int, input().split())
x, y, d = map(int, input().split())
arr = []
for _ in range(N):
arr.append(list(map(int, input().split())))
# 북 동 남 서
dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]
def spin():
global d
if d == 0:
d = 3
elif d == 1:
d = 0
elif d == 2:
d = 1
else:
d = 2
count = 0
while True:
if arr[x][y] == 0:
arr[x][y] = 2
count += 1
check = False
for _ in range(len(dx)):
spin()
nx, ny = x + dx[d], y + dy[d]
if 0 <= nx < N and 0 <= ny < M:
if arr[nx][ny] == 0:
x, y, check = nx, ny, True
break;
if not check:
nx, ny = x - dx[d], y - dy[d]
if 0 <= nx < N and 0 <= ny < M:
if arr[nx][ny] == 1:
break
else:
x, y = nx, ny
else:
break;
print(count)
# *&)*@*
동서남북 방향이 트릭이었습니다...
728x90
반응형
'생활 > 코테' 카테고리의 다른 글
연구소 3 (feat. 백준, 17142번) (0) | 2022.07.24 |
---|---|
아기 상어 (feat. 백준, 16236번) (0) | 2022.07.24 |
이항 계수 2 (feat. 백준, 11051번) (0) | 2022.07.23 |
가장 긴 감소하는 부분 수열 (feat. 백준, 11722번) (0) | 2022.07.23 |
제곱수의 합 (feat. 백준, 1699번) (0) | 2022.07.23 |
Comments