본문 바로가기

백준 & 알고리즘

[파이썬] 백준 26157번 - 즉흥 여행 (Hard)

https://www.acmicpc.net/problem/26157

티어: 플래티넘 3

 

 

로직

하나의 SCC 안에 들어있는 나라들은 서로 자유롭게 이동할 수 있으므로, 하나의 노드로 생각할 수 있습니다.

먼저, 주어진 그래프를 SCC 단위로 분리합니다. 분리된 SCC의 개수가 1개라면 아무데서나 출발해도 됩니다.

indegree가 0인 SCC의 개수가 1개이고, 해당 scc에서 모든 노드를 방문할 수 있으면 해당 scc가 정답이 됩니다.

indegree가 0인 SCC의 개수가 2개 이상이고, 모든 노드를 방문할 수 없다면 정답은 0이 됩니다.