https://www.acmicpc.net/problem/9205
9205번: 맥주 마시면서 걸어가기
송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다.
www.acmicpc.net
풀이
문제를 보았을때 알수있는 힌트
문제를 보고 시작점과 도착점이 있어서 bfs관련해서 풀어야겠다는 생각이 들었다.
중간에 들렸다가 가야하는 것이 다른 조건을 가지고 있다.
bfs 돌면서 중간에 들리는 곳을 확인하여 갈수있는지 갈수있다면 방문하게끔 코드를 짜면 된다.
import sys
from collections import deque
input = sys.stdin.readline
t= int(input())
for _ in range(t):
n = int(input())
dp =[]
for i in range(n+2):
dp.append(list(map(int,input().split())))
visited =[False]*(n+2)
queue = deque([[dp[0][0],dp[0][1]]])
visited[0]=True
while queue:
x,y=queue.popleft()
for i in range(n+2):
if visited[i]==False:
if abs(x-dp[i][0])+abs(y-dp[i][1])<=1000:
queue.append([dp[i][0],dp[i][1]])
visited[i]=True
# print(visited[-1])
if visited[-1]:
print("happy")
else:
print("sad")
https://github.com/dydwkd486/coding_test/blob/main/baekjoon/baekjoon9205.py
GitHub - dydwkd486/coding_test: 코딩테스트 공부한 내용 정리
코딩테스트 공부한 내용 정리. Contribute to dydwkd486/coding_test development by creating an account on GitHub.
github.com
'Coding Test > baekjoon' 카테고리의 다른 글
[백준 2251] 물통 - python (solved.ac - 실버 1) (0) | 2022.03.28 |
---|---|
[백준 1926] 그림 - python (solved.ac - 실버 1) (0) | 2022.03.27 |
[백준 16953] A → B - python (solved.ac - 실버 1) (0) | 2022.03.24 |
[백준 10026] 적록색약 - python (solved.ac - 골드 5) (0) | 2022.03.22 |
[백준 1051] 숫자 정사각형 - python (solved.ac - 실버 3) (0) | 2022.03.10 |