-
16174 dfs, bfs코테 대비 python/백준 2023. 1. 26. 20:07
https://www.acmicpc.net/problem/16174
16174번: 점프왕 쩰리 (Large)
쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다.
www.acmicpc.net
import sys input = sys.stdin.readline N = int(input()) square = [] for _ in range(N): square.append(list(map(int,input().split()))) ## 방문여부 확인 배열 visited = [[0]*N for _ in range(N)] ## 하, 우 dx=[1,0] dy=[0,1] from collections import deque ## dfs 함수 만들기 def dfs(x,y): visited[x][y]=True #2방향밖에 못움직임 for i in range(2): #갈 수 있는 경우의수 발판의 숫자 nx,ny = x+dx[i]*square[x][y], y+dy[i]*square[x][y] if 0<=nx <N and 0<= ny < N and not visited[nx][ny]: if square[nx][ny] == -1: print("HaruHaru") exit(0) else: dfs(nx,ny) return False if dfs(0,0) ==False: print("Hing")
1. 좌표 처럼나온다 dx, dy
2. 방문 배열 만들어서 체크하기
3. dfs 함수 만들기
4. exit(0) 는 아예 실행 끝내는거 vs break 는 반복문 나가는거
'코테 대비 python > 백준' 카테고리의 다른 글
16987 dfs, 백트레킹 ==> 다시풀어보기 (0) 2023.01.27 1969 문자열, 구현 (0) 2023.01.27 2167 구현, 누적합, DP (0) 2023.01.26 13422 (0) 2023.01.26 1817 (0) 2023.01.25