Loading...

[Python] BOJ 13549 - 숨바꼭질 3

https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net # '숨바꼭질' 문제와 다르게 순간이동을 할때는 시간이 0초가 걸린다. 가중치가 다른 문제에서는 단순 BFS를 돌리면 안된다. 따라서, 가중치에 우선순위를 사용한 BFS를 사용하거나 다익스트라 알고리즘을 사용하면 된다. (나는 다익스트라를 사용했다.) # 처음에 N위치에서 출발하므로 start에 N을 넣고 dijkstra를 돌린다. - dijkstra함수: q의 ..

[Python] BOJ 1504 - 특정한 최단 경로

https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net # 다익스트라 문제이다. # 기본적인 다익스트라 문제에서 특정한 경로 v1과 v2 정점을 무조건 지나가야 한다는 조건이 붙었다. # 1번 정점부터 N번 정점까지 가는데 있어서 v1, v2정점을 지나는 경우는 2가지 존재한다. A. 1번 -> v1 -> v2 -> N번 B. 1번 -> v2 -> v1 -> N번 # 다익스트라를 3번 돌려서 (1번 정점부터..