알고리즘 문제풀이/BOJ [DFS] 백준 16987번 계란으로 계란치기 자바(java) 풀이 - BOJ 16987번 계란으로 계란치기 문제 자바(java) 풀이 랭크 : 실버3 백준 16987번 계란으로 계란치기 문제 정리 계란으로 계란을 치는 경우 다음과 같은 점들을 고려한다. 1.1 계란에는 내구도와 무게가 정해져 있다. 1.2 계란으로 서로를 치면 계란의 내구도는 상대 계란의 무게 만큼 깎이게 된다. 1.3 내구도가 0이 되는 순간 계란이 깨진다. 계란을 왼쪽 부터 차례로 들어 한 번씩만 다른 계란을 쳐서 최대한 많은 계란을 깨려고 한다. 계란을 치는 과정은 다음과 같다. 3.1 가장 왼쪽 계란을 든다. 3.2 손에 든 계란으로 깨지지 않은 계란중 하나를 친다. 만약 손에 든 계란이 깨졌거나 깨지지 않은 계란이 없다면 아무일도 하지 않는다. 3.3 최근에 든 계란의 바로 오른쪽 계란을 들고 반복한다. 문제 풀이 dfs 방식으로 모든 경우를 따져주어야 합니다. cnt번째 계란으로 다른 계란들을 모두 쳐봅니다(칠 수 있다면) 칠 수 있다는 것은 같은 계란이 아니고 두 계란 모두 내구성이 0보다 커야 합니다. 서로 무게 만큼 빼줍니다. 그리고 다시 다음 계란을 집습니다( solve(cnt+1) ) 계란을 집었는데 게란이 이미 깨져있는 경우 그냥 다음으로 넘어갑니다. 또는 깰 계란이 없는 경우 flag가 false로 되어있습니다. 이때도 다음 계란으로 넘어갑니다. 문제 풀이 - 실행시간: 248 ms - 메모리: 16492 kb 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기Code by horang Contents 당신이 좋아할만한 콘텐츠 [BFS, 순열] 백준 18809번 Gaaaaaaaaaarden 자바(java) 풀이 2020.04.03 [BFS, 순열] 16985번 Maaaaaaaaaze 자바(java) 풀이 2020.04.01 [백트래킹] 백준 2580번 스도쿠 자바(java) 풀이 2020.03.31 [정렬, 반올림] 백준 18110번 solved.ac 자바(java) 풀이 2020.03.30 댓글 0 + 이전 댓글 더보기