프로그래밍 대회 끝나고 올린 글
문제
문제 요약
큰 물통 세 개가 있고, 처음에 각각 물 X, Y, Z리터를 담고 있음. X, Y, Z는 양의 정수이고, 10^9보다 크지 않음. 허용되는 동작이 “물통 두 개를 선택해서 물이 더 많지 않은 것이 담고 있는 물이 현재의 두 배가 될 때까지 다른 것이 담고 있는 물을 따르는 것” 일 때, 물통 한 개를 완전히 비우는 동작을 순서대로 제시하기. 추가로, 동작의 회수가 1000을 넘을 수 없음.
최근에 각종 뻘짓을 하다가 증명할 수 있었고, 구현도 잘 해낼 수 있었어서 소개하려고 글을 다시 씀 @.@
풀고 나니까 왜 대회 중에는 못 풀었지 싶어지는데 어쨌든 퍼즐같아서 재미있었고 비슷한 문제를 보면 비슷한 방법으로 접근을 먼저 해 볼 것 같으므로 교훈 하나 얻은 셈 치는게 좋을 것 같음
혹시 문제에 관심 있는 사람 있으면 힌트나 해답편을 써보려는데, 한 번만 읽어주세요…
- dc official App
댓글 2