[백준] 2251: 물통 - 물의 양을 상태로 저장하는 DFS와 총량 보존 (Java)
문제 바로가기물을 옮기는 순서가 아니라 현재 물의 양을 기억한다용량이 A, B, C인 물통이 있고, 처음에는 C 물통에만 물이 가득 들어 있다. 한 물통에서 다른 물통으로 옮길 때는 보내는 물통이 비거나 받는 물통이 가득 찰 때까지 붓는다.가능한 모든 이동을 거친 상태 중에서 A 물통이 비어 있을 때 C 물통에 남을 수 있는 물의 양을 구해야 한다.나는 각 물통에 들어 있는 양을 (a, b, c)로 저장하고 DFS로 탐색했다. 어떤 순서로 도착했든 세 물통의 양이 같으면 이후 가능한 이동도 같으므로, 같은 상태는 한 번만 탐색하면 된다.기호의미A, B, C각 물통의 최대 용량a, b, c현재 각 물통에 들어 있는 양대문자와 소문자를 구분해야 남은 공간과 옮길 양을 계산할 때 혼동하지 않는다.한 번에 옮기..
2024. 5. 12.