반응형
https://www.acmicpc.net/problem/14497
14497번: 주난의 난(難)
주난이는 크게 화가 났다. 책상 서랍 안에 몰래 먹으려고 숨겨둔 초코바가 사라졌기 때문이다. 주난이는 미쳐 날뛰기 시작했다. 사실, 진짜로 뛰기 시작했다. ‘쿵... 쿵...’ 주난이는 점프의 파
www.acmicpc.net
# 포인트
1. #이 포함된 map을 받아와야 하기때문에 int로 변경할 것 없이 그냥 input().strip()으로 받아온다.
2. 좌표는 현재 위치(사각형)의 왼쪽위에 있기 때문에 y-1, x-1처럼 -1씩 해줘야 한다.
3. 숨바꼭질3와 비슷한 구성
친구가 없는 경우에는 그냥 통과할 수 있지만, 친구가 있거나, #인 경우에는 +점프를 해야 통과할 수 있다
from collections import deque
n,m=map(int,input().split())
x1,y1,x2,y2=map(int,input().split())
D=[list(input().strip()) for _ in range(n)]
S=[[-1]*m for _ in range(n)]
q=deque()
q.append((x1-1,y1-1))
S[x1-1][y1-1]=0
dx,dy=[0,0,1,-1],[1,-1,0,0]
while q:
x,y=q.popleft()
for i in range(4):
nx,ny=x+dx[i],y+dy[i]
if 0<=nx<n and 0<=ny<m and S[nx][ny]==-1:
if D[nx][ny]=='0': # 친구가 없는 경우에는 그냥 통과할 수 있는반면
q.appendleft((nx,ny))
S[nx][ny]=S[x][y]
else: # 친구가 있거나, #인 경우에는 +점프를 해야 통과할 수 있다
q.append((nx,ny))
S[nx][ny]=S[x][y]+1
print(S[x2-1][y2-1])
반응형
'프로그래밍 > 알고리즘 & 자료구조' 카테고리의 다른 글
백준 1806 : 부분합 with 파이썬 (0) | 2024.01.30 |
---|---|
백준 2559 : 수열 with 파이썬 (2) | 2024.01.29 |
백준 1261 : 알고스팟 with 파이썬 (1) | 2024.01.26 |
[프로그래머스] 게임 맵 최단거리 with 파이썬 : BFS (0) | 2024.01.25 |
[프로그래머스] 타겟넘버 with 파이썬 : BFS, 재귀함수 (0) | 2024.01.24 |
댓글