Algorithm
[DFS] 백준-15173 점프왕 쩰리 (Small) 실버4 (Python)
차노도리
2023. 4. 14. 16:26
백준-15173 : 점프왕 쩰리 (Small)
https://www.acmicpc.net/problem/16173
16173번: 점프왕 쩰리 (Small)
쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다.
www.acmicpc.net
풀이
- 0,0에서 시작해서 해당 이동할수 있는 값 만큼 이동을하여 우측과 , 아래쪽을 확인하면서 DFS를 실행항
주의사항
- 좌표의 값이 0인 값도 있기 때문에 해당 부분은 제외해줌
코드 (python)
import sys
read = sys.stdin.readline
n = int(read())
graph = [list(map(int, read().split())) for _ in range(n)]
dx = [1, 0]
dy = [0, 1]
result = "Hing"
stack = []
stack.append([0,0])
while stack:
x,y =stack.pop()
for i in range(2):
nx = x+ dx[i]*graph[x][y]
ny = y + dy[i]*graph[x][y]
if (nx < 0 or nx >= n or ny < 0 or ny >= n) :
continue
if(graph[nx][ny]==0):continue
if(graph[nx][ny]==-1):
result="HaruHaru"
break
else:
stack.append([nx,ny])
print(result)