우유 섞기
면접 대비시간 제한2초메모리 제한512 MB
세 양동이 사이에서 100번의 순환 붓기를 시뮬레이션한다. 각 붓기는 근원이 비거나 대상이 가득 찰 때까지 우유를 옮기고, 마지막 양을 출력한다.
문제
낙농업은 경쟁이 치열한 사업이다. 특히 우유 생산은 더하다. 농부 존은 우유 생산 방식을 혁신하지 않으면 낙농 사업이 망할 수도 있다고 생각한다!
다행히도 농부 존에게는 좋은 아이디어가 있다. 그의 자랑스러운 젖소 세 마리 Bessie, Elsie, Mildred는 각각 조금씩 다른 맛의 우유를 생산하는데, 이들을 섞어 완벽한 맛의 혼합을 만들 계획이다.
세 가지 우유를 섞기 위해 그는 세 마리의 소에서 나온 우유가 담긴 양동이 세 개를 준비한다. 양동이의 크기는 서로 다를 수 있고, 가득 차 있지 않을 수도 있다. 그런 다음 양동이 1을 양동이 2에 붓고, 양동이 2를 양동이 3에 붓고, 양동이 3을 양동이 1에 붓고, 다시 양동이 1을 양동이 2에 붓는 식으로 순환하면서 총 100번 붓는다(100번째 붓기는 양동이 1에서 양동이 2로 붓는 것이 된다). 농부 존이 양동이 에서 양동이 로 부을 때에는 양동이 가 비거나 양동이 가 가득 찰 때까지 최대한 많이 붓는다.
100번의 붓기를 모두 마친 후 각 양동이에 우유가 얼마나 남아 있는지 농부 존에게 알려주자.
입력
입력 파일의 첫 번째 줄에는 두 개의 정수가 공백으로 구분되어 주어진다. 첫 번째 양동이의 용량 과 첫 번째 양동이에 담긴 우유의 양 이다. 과 은 모두 양수이며 10억 이하이고, 이다. 두 번째와 세 번째 줄도 같은 형식으로, 두 번째와 세 번째 양동이의 용량과 우유의 양이 주어진다.
출력
100번의 붓기 후 각 양동이에 남은 최종 우유의 양을 세 줄에 걸쳐 출력한다.
힌트
이 예에서 붓기가 진행되는 동안 각 양동이의 우유 양은 다음과 같다.
Initial State: 3 4 5
1. Pour 1->2: 0 7 5
2. Pour 2->3: 0 0 12
3. Pour 3->1: 10 0 2
4. Pour 1->2: 0 10 2
5. Pour 2->3: 0 0 12
(The last three states then repeat in a cycle ...)