Skip to content

[20260330] BOJ / P3 / 마블 / 권혁준#2052

Merged
ShinHeeEul merged 1 commit intomainfrom
khj20006
Mar 30, 2026
Merged

[20260330] BOJ / P3 / 마블 / 권혁준#2052
ShinHeeEul merged 1 commit intomainfrom
khj20006

Conversation

@oncsr
Copy link
Copy Markdown
Contributor

@oncsr oncsr commented Mar 30, 2026

🧷 문제 링크

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

🧭 풀이 시간

20분

👀 체감 난이도

✏️ 문제 설명

정점 N개인 방향 그래프가 주어진다. 각 정점에서 나가는 간선은 최대 한 개이다.
두 종류의 질의를 처리해보자.

  1. x번 정점에서 간선을 타고 더 이상 이동할 수 없을 때까지 간 후에, 몇 번 정점에 도달하는가? (영원히 멈출 수 없다면 -1)
  2. x번 정점에서 나가는 간선을 제거한다.

🔍 풀이 방법

정점마다 나가는 간선이 최대 한 개라는 것은, 그래프의 한 컴포넌트에는 최대 한 개의 사이클만 존재한다는 것을 의미한다.

매번 탐색을 돌려서 도착점을 구하면 시간 초과니까, 도착점이 루트가 되도록 유니온 파인드를 사용해서 해결했다.
유니온할 때 사이클이 생기는 경우에는 도달 불가능함을 의미하는 가상의 정점 하나에 도달하도록 다시 유니온해줬다.

⏳ 회고

재밌다

@oncsr oncsr self-assigned this Mar 30, 2026
@oncsr oncsr added the success 👍 해설을 보지 않고 풀었을 때 label Mar 30, 2026
@ShinHeeEul ShinHeeEul merged commit 8412ada into main Mar 30, 2026
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.

2 participants