from collections import deque
n = int(input())
matrix = [(list(map(int, input().split()))) for _ in range(n)]
queue = deque()
queue.append((0, 0))
while queue:
x, y = queue.popleft()
jump_size = matrix[x][y]
dx = [0, jump_size]
dy = [jump_size, 0]
for i in range(2):
nx = dx[i] + x
ny = dy[i] + y
if n <= nx or n <= ny:
continue
if jump_size == 0:
continue
if jump_size == -1:
print("HaruHaru")
exit(0)
queue.append((nx, ny))
print("Hing")
bfs를 통해 이동가능한 모든 경우(우, 하)를 대입시켜 목적지에 도달할 경우
haruharu를, 그렇지 않을 경우 hing을 출력시킨다.
'백준 알고리즘 (Baekjoon Algorithm)' 카테고리의 다른 글
[파이썬] 백준 알고리즘 No.14562 태권왕 (0) | 2021.12.24 |
---|---|
[파이썬] 백준 알고리즘 No.16174 점프왕 쩰리 (Large) (0) | 2021.12.22 |
[파이썬] 백준 알고리즘 No.18405 경쟁적 전염 (0) | 2021.12.22 |
[파이썬] 백준 알고리즘 No.14502 연구소 (0) | 2021.12.22 |
[파이썬] 백준 알고리즘 No.18352 특정 거리의 도시 찾기 (0) | 2021.12.18 |