보드 게임 Terra Mystica 는 주요 자원 중 하나 인 힘에 대한 매우 흥미로운 메커니즘을 가지고 있습니다. 각 플레이어는 은행에서 전력을 얻고 소비하는 대신, I, II 및 III으로 표시된 3 개의 "볼 (bowl)"에 분산 된 정확히 12 개의 전력으로 게임을 시작합니다. 그런 다음 전력을 얻고 소비하면 단순히 다음 그릇 사이에서 전력이 이동합니다.
- 전력을 소비하려면 용기 III에서 용기 I로 옮깁니다 (볼 III에 장치가있는 경우).
- 힘의 단위를 얻을 때, 그릇 I에 장치가 있으면, 그릇 II로 옮깁니다. 그릇 I에 장치가 없지만 그릇 II에 장치가 있으면 그릇 III으로 옮깁니다. 모든 유닛이 이미 보울 III에 있다면 아무 일도 일어나지 않습니다.
- 한 번에 여러 유닛을 얻거나 소비하면 한 번에 한 유닛 씩 처리됩니다.
다음은 예입니다. 예를 들어, 플레이어는 다음과 같은 배전 (순서대로 I | II | III
)으로 시작합니다.
5 | 7 | 0
전력을 몇 번 얻고 소비하면 전력이 다음과 같이 변경됩니다.
5 | 7 | 0
Gain 3 ==> 2 | 10 | 0
Gain 6 ==> 0 | 8 | 4 (move 2 power from I to II,
then the remaining 4 from II to III)
Gain 7 ==> 0 | 1 | 11
Spend 4 ==> 4 | 1 | 7
Gain 1 ==> 3 | 2 | 7
Spend 7 ==> 10 | 2 | 0
Gain 12 ==> 0 | 10 | 2 (move 10 power from I to II,
then the remaining 2 from II to III)
Gain 12 ==> 0 | 0 | 12 (the two excess units go to waste)
당신의 임무는 그러한 이익 또는 지출 이벤트 중 하나의 결과를 계산하는 것입니다.
도전
입력으로 4 개의 정수가 제공됩니다. 처음 세, I
, II
, III
, 세 그릇에 각각 전력의 양을 나타낸다. 네거티브 숫자는 음수가 아니고 12에 합산됩니다. 네 번째 숫자 P
는 얻거나 소비 한 전력의 양이며 포함 범위에 있습니다 [-III, 24]
(따라서 플레이어가 더 많은 힘을 쓰려고하지 않을 것이라고 가정 할 수 있음) 그들은 현재 할 수있는 것보다 더 많은 힘을 얻고있을 것입니다.
이 숫자는 일관된 순서로 별도의 인수, 정수 목록 또는 이러한 정수를 포함하는 문자열로 사용할 수 있습니다. 또한 취할 수 P
로, 하나 개의 인수로 I
, II
, III
별도의리스트 인수로.
당신은 출력 세 정수는해야한다 I'
, II'
, III'
각각의 그릇에 전력의 양을 표현하는 후 P
단위가 취득 또는 규칙은 위에서 설명한 다음, 보냈다.
당신은 쓸 수 있습니다 프로그램이나 기능을 하고, 우리의 사용 표준 방법 입력을 수신하고 출력을 제공합니다.
모든 프로그래밍 언어를 사용할 수 있지만 이러한 허점 은 기본적으로 금지되어 있습니다.
이것은 code-golf 이므로 바이트 단위로 측정 된 가장 짧은 유효한 답변이 이깁니다.
테스트 사례
I II III P => I' II' III'
5 7 0 3 => 2 10 0
2 10 0 6 => 0 8 4
0 8 4 7 => 0 1 11
0 1 11 -4 => 4 1 7
4 1 7 0 => 4 1 7
4 1 7 1 => 3 2 7
3 2 7 -7 => 10 2 0
10 2 0 12 => 0 10 2
0 10 2 12 => 0 0 12