ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • BOJ13911 집구하기
    Problem_Solving 2018. 10. 25. 16:23


    BOJ 13911 집구하기


    문제 원본


    문제 설명


    집을 구하려고 하는데 맥도날드와 스타벅스 까지 거리의 합이 최소인 거리를 구하는 문제




    문제 풀이


    1 Step


    모든 맥도날드 위치에서 각 정점 까지 최단 거리(dijkstra)를 구한다.


    2 Step


    모든 스타벅스 위치에서 각 정점 까지 최단 거리((dijkstra)를 구한다.


    3 Step


    1번과 2번에서 구한 값을 이용해 맥도날드와 스타벅스 까지 거리합이 최소인 값을 구한다.


    해설

    우선순위 큐를 이용한 dijkstra는

    의 시간복잡도를 가진다 E는 간선 개수 V는 정점 개수


    따라서 이 문제의 해법은 dijkstra의 시간복잡도와 일치한다.




    소스코드


    소스코드는 GO언어와 C++코드 둘을 첨부합니다.

    GO언어의 input 받는 부분을 관심있게 보시면 GO언어로 문제풀이 하는데 도움이 될것같습니다.


    GO언어




    C++코드




    GO언어와 C++의 성능 비교

    사용 알고리즘
    GO
    C++
    우선순위큐 + 동적 배열26868kb/256ms (input에서 string으로 받음)10916kb/160ms


    'Problem_Solving' 카테고리의 다른 글

    Codeforce #515 Binary Numbers AND Sum  (0) 2018.10.28
    BOJ 16236 아기상어  (0) 2018.10.27
    BOJ 2479 계단오르기  (0) 2018.10.25
    boj11505 구간 곱구하기  (0) 2018.10.25
    boj 1953 팀배분  (0) 2018.10.25

    댓글

Designed by Tistory.