프로그래밍/문제풀이
[Python] 백준 9205 맥주 마시면서 걸어가기
성수동이민기
2022. 12. 1. 16:15
https://www.acmicpc.net/problem/9205
9205번: 맥주 마시면서 걸어가기
송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다.
www.acmicpc.net
# 9205 맥주 마시면서 걸어가기
import sys
input = sys.stdin.readline
T = int(input())
for _ in range(T):
N = int(input())
home_r, home_c = list(map(int, input().split()))
conven = list()
for _ in range(N):
temp_r, temp_c = list(map(int, input().split()))
conven.append([temp_r, temp_c])
final_r, final_c = list(map(int, input().split()))
conven.append([final_r, final_c])
queue = list()
queue.append([home_r, home_c])
answer = 'sad'
visited = [0] * len(conven)
while queue:
cur_r, cur_c = queue.pop()
for idx, (con_r, con_c) in enumerate(conven):
cur_dis = abs(con_r - cur_r) + abs(con_c - cur_c)
if cur_dis <= 1000 and visited[idx] == 0:
visited[idx] = 1
queue.append([con_r, con_c])
if con_r == final_r and con_c == final_c:
answer = 'happy'
break
print(answer)
위는 readline 포함할 때
아래는 포함하지 않을 때