Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Feb 21, 2025

🧷 문제 링크

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

🧭 풀이 시간

35분

👀 체감 난이도

✏️ 문제 설명

  • $N \times M$ 격자판에 $P$명의 플레이어가 각자의 성을 확장시키려 한다.
  • 한 턴에는 $1$부터 $P$까지 플레이어가 차례대로 확장을 시도한다.
  • 각 플레이어 $p$는 자신의 성이 있는 곳에서부터 최대 $S_p$만큼 이동할 수 있는 칸들 중, 벽이나 다른 플레이어의 성이 없는 곳에 자신의 성을 짓는다.
  • 충분한 턴이 지난 후, 각 플레이어가 몇 개의 성을 가지게 되는지 구해보자.

🔍 풀이 방법

[사용한 알고리즘]

  • BFS

  • 각 플레이어마다 BFS를 돌릴 큐를 따로따로 관리하면, 단순히 1번 플레이어의 큐부터 P번 플레이어의 큐까지 BFS를 싹 돌리면 된다.

⏳ 회고

  • 처음엔 큐를 따로 두는 게 아니라 덱 하나로 BFS를 돌렸는데, 확장이 제대로 안 되는 문제가 있었다.
  • 반례 케이스를 못 찾겠어서 게시판에서 찾아봤다.
3 4 2
2 1
1...
1..2
....
=== Output
8 4
=== Answer
9 3
  • 코드를 고치려는데 덱으로는 안될 것 같아 풀이를 갈아엎었다.

@oncsr oncsr added the hint 💡 반례를 참고했거나 힌트를 얻고 풀었을 때 label Feb 21, 2025
@ShinHeeEul ShinHeeEul merged commit edcb32d into main Feb 21, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hint 💡 반례를 참고했거나 힌트를 얻고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants