Informatica Online Judge

  우유 섞기 [2310 / 0906]

Time Limit(Test case) : 1000 (ms)
Number of users who solved : 23   Total Tried : 23


The Champion of this Problem (C++) : gs18019 - ms / 336byte
My Best Submission (C++) : N/A

[USACO2018DecBronze]

Background

농장일은 경쟁적인 비즈니스이다. -- 특히 젖소 우유짜기가 그렇다. 농부 존은 우유 생산 방식을 혁신하지 않으면, 유제품 사업이 실패하게 될 것이라는 것을 알게 되었다.

하지만, 운이 좋게도 농부 존에게는 좋은 아이디어가 있다. 존에게는 3마리의 소중한 젖소 베시, 엘시, 밀드레드가 있고 각각 살짝 다른 맛의 우유를 생산하고 있는데, 이 젖소들의 우유들을 잘 섞어 완벽한 맛의 우유를 만들어 내는 것이다.

이 서로 다른 세 가지 맛의 우유를 섞기 위해서, 각 젖소에서 짜낸 우유가 들어있는 3개의 양동이를 가져왔다. 양동이들은 크기가 서로 다를 수 있고, 꽉 채워져 있지 않을 수도 있다.

1번 양동이에 있는 우유를 2번 양동이에 붓고, 다시 2번 양동이에 있는 우유를 3번 양동이에 붓고, 다시 3번 양동이를 1번 양동이를 붓고, 다시 1번 양동이를 2번 양동이에 붓고 ... 이렇게 100번을 계속해서 순환시켜 붓는다.(이렇게 계속 반복하면 100번째에는 1번 양동이에 있는 우유를 2번 양동이에 붓고 끝나게 된다.) 농부 존은 a번 양동이를 b번 양동이에 부을 때에는 a번 양동이에 있는 우유를 모두 다 부었거나, b번 양동이가 가득 찰 때까지 붓는다.

이와 같은 방법으로 우유 양동이에 있는 우유를 100번 부었을 때, 각각의 양동이에 남아있는 우유의 양은 어떻게 될까?

Input

첫 번째 줄에 첫 번째 양동이의 용량(c1)과 우유의 양(m1)이 공백을 두고 입력된다.
두 번째 줄에는 두 번째 양동이의 용량(c2)과 그 안에 들어있는 우유의 양(m2)이 공백을 두고 입력된다.
세 번째 줄에는 세 번째 양동이의 용량(c3)과 그 안에 들어있는 우유의 양(m3)이 공백을 두고 입력된다.
1<= ci,mi <=100,000,000
mi <= ci

Output

100번 섞은 후, 각각의 양동이에 남아있는 우유의 양을 줄을 바꿔 출력한다.

IO Example

입력예시
10 3
11 4
12 5

출력예시
0
10
2

설명
다음과 같이 진행된다.:
처음 우유의 양: 3 4 5
1. 1번 양동이->2번 양동이: 0 7 5
2. 2->3: 0 0 12
3. 3->1: 10 0 2
4. 1->2: 0 10 2
5. 2->3: 0 0 12
(마지막부터 이전 3개의 상태가 계속 순환되며 반복된다.)

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]