Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Feb 21, 2025

🧷 문제 링크

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

🧭 풀이 시간

40분

👀 체감 난이도

✏️ 문제 설명

  • 정점이 $10^{100}$개인 완전 이진 트리가 있다.
  • $N$개의 서로 다른 정점에 각각 군부대가 존재한다.
  • 어떤 도시가 위험하다는 것은, 해당 도시에 군부대가 있거나, 해당 도시가 서로 다른 두 군부대를 잇는 경로 사이에 있다는 뜻이다.
  • 위험한 도시의 개수를 구해보자.

🔍 풀이 방법

[사용한 알고리즘]

  • 트라이
  • 깊이 우선 탐색

  • 수가 주어질 때마다, 루트를 1로 두고 직접 트리를 만들면 된다. (트라이로 구현)
  • 만든 트리 상에 존재하는 정점의 수를 DFS로 구할 수 있다.
  • 각 정점이 추가된 횟수가 N인 정점은 카운트할 때 제외하면, 정답을 구할 수 있다.

⏳ 회고

  • 처음에 트리 만들 때는 set으로 했다가 시간 초과를 받았다.
  • 알고리즘 분류 까니까 문제 난이도가 0이 되었다. 트라이를 떠올리기 어려운듯

@oncsr oncsr added the hint 💡 반례를 참고했거나 힌트를 얻고 풀었을 때 label Feb 21, 2025
@ShinHeeEul ShinHeeEul merged commit 3ff1d8c 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