ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • BOJ 9505 엔터프라이즈호 탈출(Python 3)
    알고리즘/BOJ 2019. 2. 14. 19:53
    반응형


    https://www.acmicpc.net/problem/9505



    일반 BFS로 풀면 python, pypy로는 시간 초과가 나오는 문제이다.

    그래서 heapq를 이용한 다이젝스트라로 문제를 풀었다.


    그동안 다익스트라로 풀어야할 문제를 전부 bfs, deque로 풀어내서(...) heapq를 이용해 직접 풀은 문제는 이번이 처음이다.

    저번에 숨바꼭질 질문 글을 통해 heapq의 존재를 처음 알게 되었는데 자주 써먹을 수 있을 것 같다.


    다이젝스트라는 BFS와 상당히 유사하지만, BFS와의 차이점은 heapq를 이용하기 때문에 q에서 뱉어내는 좌표중에서 가장자리 좌표를 제일 먼저 뱉어내는 값이 최소값이라는 것이다.

    K는 dict,defaultdict,list 셋중에서 뭘 하든 상관 없어 보인다. 아래 코드는 list를 이용해 만들었다.




    반응형

    '알고리즘 > BOJ' 카테고리의 다른 글

    BOJ 16681 등산(Python 3)  (0) 2019.02.15
    BOJ 4184 Ocean Currents(Python 3)  (0) 2019.02.14
    BOJ 13903 출근(Python 3)  (0) 2019.01.30
    BOJ 12886 돌 그룹(Python 3)  (0) 2019.01.29
    BOJ 14497 주난의 난(難)(Python 3)  (2) 2019.01.25

    댓글

Designed by Tistory.