벨만포드 2

[벨만 포드] BOJ 1865 웜홀

https://www.acmicpc.net/problem/1865 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net 문제 해결 알고리즘 벨만 포드 알고리즘 음의 사이클의 존재 여부를 판단하는 문제. 출발점이 어디든 음의 사이클 존재만 판단하면 되므로 한 번만 벨만 포드 알고리즘을 돌리면 된다. (굳이 모든 출발점에서 음의 사이클 존재 여부 판단할 필요 X, 시간 초과남) if(d[cur_node] != INF && d[next_node] > d[cur_node] + cost) 보통의 벨만 포드 알고..

[벨만 포드] BOJ 11657 타임머신

https://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 문제 해결 알고리즘 벨만 포드 알고리즘 INF값은 충분히 크게 잡아주어야한다. 오버 플로우가 나기 때문에 int 대신 long long 자료형을 써주어야한다. 소스 코드 #include #define ll long long using namespace std; const ll INF = 1e9; const int MAX = 6001; l..