⭐️ 맥주 마시면서 걸어가기
제목이 맘에 들어서 풀기 시작했다.
bfs로 거리를 모두 탐색하는데 거리가1000이하면 큐에 넣는 방식으로 진행했다.
-> 거리가 1000이하인곳 갈수만 있으면 맥주병 교체하는건 신경안써도된다.
import sys
from collections import deque
input = sys.stdin.readline
def bfs():
q = deque()
q.append((home[0], home[1]))
while q:
y, x = q.popleft()
if abs(y - fest[0]) + abs(x - fest[1]) <= 1000:
print("happy")
return
for i in range(n):
if not visited[i]:
new_y, new_x = conv[i]
if abs(y - new_y) + abs(x - new_x) <= 1000:
q.append((new_y, new_x))
visited[i] = 1
print("sad")
return
for _ in range(int(input())):
n = int(input())
home = list(map(int, input().split()))
conv = []
for i in range(n):
y, x = map(int, input().split())
conv.append((y, x))
fest = list(map(int, input().split()))
visited = [0 for i in range(n+1)]
bfs()
'알고리즘 > 백준' 카테고리의 다른 글
2638. 치즈 (0) | 2022.03.20 |
---|---|
13164. 행복 유치원 (0) | 2022.03.20 |
9576. 책 나눠주기 (0) | 2022.03.20 |
2250. 트리의 높이와 너비 (0) | 2022.03.02 |
3584. 가장 가까운 공통 조상 (0) | 2022.02.21 |