[백준] 9205번 맥주마시면서 걸어가기 - python 파이썬

2024. 11. 20. 14:15·코딩테스트/백준

문제

 

 

 

박스에 20개가 들어갈 수 잇고 50미터당 한 병이기때문에 노드별 최대 간격은 1000미터이다.

 

따라서 노드간의 간격이 1000를 넘는다면 sad가 되고 전부 1000미터 이하라면 happy를 출력하면된다.

 

사용할 알고리즘은 인접한 노드부터 간격을 체크하면 되므로 BFS를 사용해주었다.

 

 

나의 풀이

from collections import deque
def bfs():
    q = deque()
    q.append((home[0],home[1]))
    while(q):
        x,y = q.popleft()
        if abs(x-dest[0]) + abs(y-dest[1]) <= 1000:
            print("happy")
            return
        for i in range(n):
            if not visited[i]:
                nx, ny = conv[i]
                if abs(x-nx) + abs(y-ny) <= 1000:
                    q.append((nx,ny))
                    visited[i] = 1
    print("sad")
    return




t = int(input())
for i in range(t):
    n =int(input())
    home = [int(x) for x in input().split()]
    conv = []
    for j in range(n):
        x,y = map(int,input().split())
        conv.append([x,y])
    dest = [int(x) for x in input().split()]
    visited = [0 for i in range(n+1)]
    bfs()



기존의 bfs에서 1000미터 이하의 간격일때만 해당 노드를 큐에 추가해주는 방식으로 구현한다고 생각하면 된다.

'코딩테스트 > 백준' 카테고리의 다른 글

[백준] 14179번 빗물 - python 파이썬  (1) 2024.11.27
[백준] 2166번 다각형의 면적 - python 파이썬  (2) 2024.11.27
[백준] 10799번 쇠막대기 - python 파이썬  (0) 2024.10.31
[백준]2467번 용액 - python파이썬  (2) 2024.10.23
[백준] 2589번 보물섬 - python 파이썬  (2) 2024.10.22
'코딩테스트/백준' 카테고리의 다른 글
  • [백준] 14179번 빗물 - python 파이썬
  • [백준] 2166번 다각형의 면적 - python 파이썬
  • [백준] 10799번 쇠막대기 - python 파이썬
  • [백준]2467번 용액 - python파이썬
hiwon
hiwon
천천히 굴러가는 코딩일기
  • hiwon
    하이원의 코딩 일기
    hiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (83)
      • 프론트엔드 (0)
        • react (0)
      • 백엔드 (13)
        • node.js (1)
        • spring (6)
      • 코딩테스트 (57)
        • 백준 (41)
        • 프로그래머스 (15)
      • 프로디지털아카데미 (9)
        • 클라우드 (1)
        • JavaScript (1)
      • github (1)
      • AWS (2)
      • Infra (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    신한투자증권
    깃허브
    프로그래머스
    백준
    Java
    github
    bastion host
    MSA
    코딩테스트
    백엔드
    백트래킹
    kdt교육
    python
    EC2
    투포인터
    다익스트라
    알고리즘
    프로디지털아카데미
    알파코캠퍼스
    그리디
    프디아
    AWS
    spring
    코테
    K디지털트레이닝
    알파코
    UnionFind
    파이썬
    BFS
    IT기획
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hiwon
[백준] 9205번 맥주마시면서 걸어가기 - python 파이썬
상단으로

티스토리툴바