Notice
Recent Posts
Recent Comments
05-11 02:26
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

-

[백준 16173] 점프왕 쩰리 - 파이썬 본문

Algorithm

[백준 16173] 점프왕 쩰리 - 파이썬

choiht 2024. 3. 1. 11:07
반응형

문제

https://www.acmicpc.net/problem/16173

 

16173번: 점프왕 쩰리 (Small)

쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로,  (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다.

www.acmicpc.net

 

 

 

풀이 방법

시작 지점인 (0, 0)부터 시작하여 dfs로 돌면서 방문한 곳은 visited 배열에서 1로 바꿔준다.

좌표가 맵 밖을 벗어나거나 이미 방문한 곳은 return으로 빠져나온다. 

도착 지점에 도착했으면 (= visited 배열에서 도착 지점에 해당하는 곳이 1이면) 성공한 것으로 간주한다.

 

 

 

코드

n = int(input())
board = [list(map(int, input().split())) for _ in range(n)]
visited = [[0]*n for _ in range(n)]

def dfs(x, y):
    if x < 0 or x >= n or y < 0 or y >= n or visited[x][y] == 1:
        return
    
    if board[x][y] == -1:
        visited[x][y] = 1
        return
    
    visited[x][y] = 1
    
    dfs(x + board[x][y], y)
    dfs(x, y + board[x][y])
    
    
dfs(0, 0)
if visited[-1][-1] == 1:
    print('HaruHaru')
else:
    print('Hing')
반응형
Comments