문제 풀이/백준 (BOJ)
[백준/BOJ] 4013번: ATM ( SCC, 위상 정렬 응용 ) - C++ 문제 풀이
문제 설명 문제 링크: https://www.acmicpc.net/problem/4013 풀이이 문제는 출발 지점으로부터 방문할 수 있는 레스토랑까지 가는 동안 구할 수 있는 금액의 최대 값을 출력하는 문제입니다. 이 문제를 풀기 어렵게 만드는 것은, 문제를 그래프로 변경 시, 그래프에 순환 경로가 존재한다는 것입니다.그래서, 우선 순환 경로를 제거합니다.그 방법은 강한 결합 요소( SCC )를 구해서, 그 요소의 정점들을 하나의 정점으로 변경하는 것입니다.그렇게 되면, 원래의 그래프가 순환 경로가 없는 방향 그래프( DAG, Directed Acyclic Graph )가 됩니다. 이 과정을 코드로 작성하면 다음과 같습니다. 여기선, SCC를 구하기 위해 타잔( Tarjan ) 알고리즘을 사용하였습니다..
2024. 7. 17.