본문 바로가기

알고리즘 (2020 : 08 : 10 ~ )/SPFA

(2)
[백준 / BOJ] 1865 웜홀 (SPFA) 문제 출처 : www.acmicpc.net/problem/1865 1865번: 웜홀 문제 때는 2020년, 백준이는 월드나라의 한 국민이다. 월드나라에는 N개의 지점이 있고 N개의 지점 사이에는 M개의 도로와 W개의 웜홀이 있다. (단 도로는 방향이 없으며 웜홀은 방향이 있다.) 웜홀 www.acmicpc.net 백준이가 어느 지점에서 출발하여, 다시 시작지점으로 돌아왔을때, 출발하였을 시간보다 시간이 더 줄어들었는지 찾는문제이다. 만약 가능하다면, YES 아니라면, NO를 출력하면된다. (도로는 양방향이며, 시간을 되돌려주는 웜홀은 단방향이다) 풀이 음수가중치(워홀)가 존재하므로 벨만포드 혹은 SPFA로 풀어야한다. 문제 이해를 잘못하여 몇번 틀렸었다. 난 출발지점이 1이라고 생각하고 탐색을 했는데, ..
[백준 / BOJ] 11657 타임머신 (SPFA) 문제 출처 : www.acmicpc.net/problem/11657 11657번: 타임머신 첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수 M (1 ≤ M ≤ 6,000)이 주어진다. 둘째 줄부터 M개의 줄에는 버스 노선의 정보 A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)가 주어진다. www.acmicpc.net N개의 도시가 있다. 1번도시에서 출발하여 모든 도시로 갈때, 최소한의 시간으로 가는 경우를 구한다. 도시간의 시간에는 음수가 존재할수있으며, 이는 타임머신을 타고 과거로 가는경우이다. 만약 과거로 계속해서 갈수있으면 -1 을 출력하고 종료한다. 1번도시에서 해당하는 i번 도시로 갈수없다면 -1을 출력한다. 풀이 벨만포드 풀이 : dlw..