Skip to content

[20250415] BOJ / P5 / 개미 / 신희을#311

Merged
ShinHeeEul merged 2 commits intomainfrom
ShinHeeEul
Apr 15, 2025
Merged

[20250415] BOJ / P5 / 개미 / 신희을#311
ShinHeeEul merged 2 commits intomainfrom
ShinHeeEul

Conversation

@ShinHeeEul
Copy link
Copy Markdown
Contributor

🧷 문제 링크

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

🧭 풀이 시간

60 분

👀 체감 난이도

✏️ 문제 설명

개미집은 n개의 방으로 구성되어 있으며 n개의 방은 1번부터 n번 까지 번호가 부여되어 있다. 그 중에서 1번 방은 지면에 바로 연결되어 있는 방이다. 각 방들은 서로 굴을 통해 연결되어 있다. 각 굴을 이동하기 위해서는 굴의 길이만큼 에너지가 소모된다.

개미는 집짓기의 달인이기 때문에 불필요한 굴은 짓지 않는다. 그래서 굴을 타고 한 방에서 다른 방으로 갈 수 있는 경로는 항상 존재하며 유일하다. 임의의 두 방 사이의 거리는 두 개의 방을 연결하는 경로를 구성하는 굴의 길이의 합이다.

겨울잠을 자던 개미들은 겨울잠에서 깨어나 지면으로 올라가 햇살을 보고 싶어한다. 그렇기 때문에 지면과 연결된 1번 방으로 이동을 하려고 한다. 하지만 불행하게도 개미는 긴 겨울잠을 자느라 축적해 놓은 에너지가 적다. 그래서 개미는 에너지를 1번 방에 도달하기 전에 모두 소모 할 수도 있다. 이렇게 에너지가 0이 된 개미는 더 이상 움직일 수 없다. 또한 1번 방에 도착한 개미는 더 이상 움직이지 않는다.

현재 모든 방에는 개미가 한 마리씩 있고 각각의 개미는 각자 축적된 에너지를 가지고 있다. 잠에서 깨어난 모든 개미는 1번 방을 향해서 이동한다. 이때 각각의 개미에 대해 도달할 수 있는 방 중에서 가장 1번 방에 가까운 방의 번호를 출력하시오.

🔍 풀이 방법

도로 네트워크처럼 희소 배열을 값을 저장하는 형식으로 구성하고, 각 개미들 마다 최대 얼마나 갈 수 있는지 logN씩 올라가보면서 구한다.

⏳ 회고

문제 자체를 읽었을 때 굴이 트리임을 파악하기도 어려웠고, 희소 배열을 응용하면 되겠다라고 생각하기까지도 어려운 문제

@ShinHeeEul ShinHeeEul added the success 👍 해설을 보지 않고 풀었을 때 label Apr 15, 2025
@ShinHeeEul ShinHeeEul self-assigned this Apr 15, 2025
@ShinHeeEul ShinHeeEul merged commit e983af8 into main Apr 15, 2025
1 check passed
@ShinHeeEul
Copy link
Copy Markdown
Contributor Author

지난주 커밋하고 PR을 안날렸었네..

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.

1 participant