Skip to content

Conversation

@LiiNi-coder
Copy link
Contributor

🧷 문제 링크

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

🧭 풀이 시간

50 분

👀 체감 난이도

✏️ 문제 설명

계란이 일렬로 나열되어있고, 계란마다 내구도와 무게가 있는데, 왼쪽에서 부터 계란을 들어올려 나머지 계란을 한개씩 치고 내려놓고, 그 다음 계란들 들어올리고... 이렇게 반복하여 맨 오른쪽까지 진행된다. 계란을 치는 것은 서로의 내구도가 서로의 무게만큼 까인다. 내구도가 0이하라면 계란은 깨진다. 깨진 계란은 서로 치는 것은 불가능. 이때 가장 많은 계란을 깨도록하는 경우에서의 깬 계란의 최댓값을 출력하는 문제

🔍 풀이 방법

  • 기본적으로 dfs완탐을 진행하며 깨진것은 스킵하는 형식으로 백트래킹을 사용한다.

⏳ 회고

  • 92퍼에서 자꾸 틀렸다고 나와서 한동안 고생많이 한 문제
  • 깨진 것을 발견하면 다음 dfs로 넘어갈지, 아니면 그냥 skip을 할지가 많이 헷갈렸다.
    • 그냥 skip은 다음 상태트리 노드를 만들지 않겠다이고, dfs로 넘어가는 것은 노드를 만들겠다는 의미로 서로 다르다는 것을 명심하자

@LiiNi-coder LiiNi-coder added the hint 💡 반례를 참고했거나 힌트를 얻고 풀었을 때 label Jul 20, 2025
@ShinHeeEul ShinHeeEul merged commit de0a8c8 into main Jul 20, 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