코테 대비 python/백준
16174 dfs, bfs
ylab
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 는 반복문 나가는거