Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Nov 13, 2025

🧷 문제 링크

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

🧭 풀이 시간

40분

👀 체감 난이도

✏️ 문제 설명

정점 N개, 간선 M개인 방향 그래프가 주어진다.
각 정점 i에는 돈이 a[i]원 있는 ATM 기기가 있다.
P개의 정점은 레스토랑으로 지정되어 있다.

정점 S에서 출발하여 레스토랑 중 한 곳에 도착하는 동안 지나는 모든 ATM에서 돈을 한 번씩 뽑을 때, 돈을 최대 얼마나 가질 수 있는지 구해보자.

🔍 풀이 방법

점과 간선을 중복 방문할 수 있으니까, 어떤 점에 도착한다면 그 점이 속한 SCC의 모든 점들 또한 자유롭게 방문할 수 있다.
그래프의 SCC들을 모두 구해서, 각 SCC를 정점으로 갖는 새로운 그래프 G를 만든다.
이렇게 만들어진 그래프는 무조건 방향 비순환 그래프라는 특징이 있다.

따라서 점 S가 속한 SCC에서 출발해서 위상 정렬 + DP로 각 점까지의 최대 액수를 구해놓고, 이 중 레스토랑이 속해있는 SCC들에 대한 값만 고려하여 최댓값을 출력해줬다.

⏳ 회고

어렵다

@oncsr oncsr added the success 👍 해설을 보지 않고 풀었을 때 label Nov 13, 2025
@ShinHeeEul ShinHeeEul merged commit 17abdbb into main Nov 13, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants