Skip to content

Conversation

@0224LJH
Copy link
Contributor

@0224LJH 0224LJH commented Sep 25, 2025

🧷 문제 링크

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

🧭 풀이 시간

50분

👀 체감 난이도

✏️ 문제 설명

민식이는 회사의 매니저이다. 그리고, 민식이는 회사의 중요한 뉴스를 모든 직원에게 빠르게 전달하려고 한다. 민식이의 회사는 트리 구조이다. 모든 직원은 정확하게 한 명의 직속 상사가 있다. 자기자신은 그들 자기 자신의 직접 또는 간접 상사가 아니고, 모든 직원은 민식이의 직접 또는 간접적인 부하이다.

민식이는 일단 자기 자신의 직속 부하에게 한 번에 한 사람씩 전화를 한다. 뉴스를 들은 후에, 각 부하는 그의 직속 부하에게 한 번에 한 사람씩 전화를 한다. 이 것은 모든 직원이 뉴스를 들을 때 까지 계속된다. 모든 사람은 자신의 직속 부하에게만 전화를 걸 수 있고, 전화는 정확하게 1분 걸린다. 이때 모든 직원이 소식을 듣는데 걸리는 시간의 최솟값을 구하는 프로그램을 작성하시오.

오민식의 사원 번호는 0이고, 다른 사원의 번호는 1부터 시작한다.

🔍 풀이 방법

재귀 + dp같은 느낌으로 풀었다. 각각의 자식이 부모라 가정했을 때 그 하위노드들로 전파하는데 얼마나 걸리는 지 확인하고,

			while (!pq.isEmpty()) {
				int num = pq.poll();
				min = Math.max(min, num+pq.size()+1);
			}

이런식으로 시간걸리는 것을 감안해서 구현하였다.

⏳ 회고

@ShinHeeEul ShinHeeEul merged commit dcc2d6f into main Sep 25, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants