Tahta oyunu Terra Mystica , en önemli kaynaklardan biri olan iktidar için çok ilginç bir mekanizmaya sahiptir. Her oyuncu bir bankadan güç kazanmak ve harcamak yerine, her oyuna I, II ve III etiketli üç "kasenin" üzerine dağıtılan tam 12 birim güçle oyuna başlar. Gücü kazanmak ve harcamak daha sonra bu kaseler arasında gücü değiştirir:
- Bir birim güç harcamak için, kase III'den kase I'e (kase III'te bir üniteniz olması koşuluyla) taşıyın.
- Bir güç kazandığınızda, kase I'de bir ünite varsa, kase II'ye getirin. Kase I'de birimler yoksa, ancak Kase II'de bir birim varsa, kase III'e getirin. Tüm birimler zaten kasede III ise, hiçbir şey olmuyor.
- Aynı anda birden fazla birim kazandığınızda veya harcadığınızda, bir seferde bir ünite işlenir.
İşte bir örnek. Diyelim ki, bir oyuncu aşağıdaki güç dağıtımıyla başlar (sırayla verilir I | II | III
):
5 | 7 | 0
Birkaç kez güç kazanıp harcarlarsa güçleri şu şekilde değişir:
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)
Göreviniz böyle bir kazanma ya da harcama olayı sonucu hesaplamaktır.
Meydan okuma
Giriş olarak dört tamsayı verilir. İlk üç, I
, II
, III
, üç kase her güç miktarını temsil eder. Negatif olmayacaklar ve 12'ye toplayacaklar. Dördüncü sayı, P
kazanılan veya harcanan güç miktarı ve kapsayıcı aralıkta olacak [-III, 24]
(oyuncunun asla daha fazla güç harcamayı deneyemeyeceğini düşünebilirsiniz. şu anda yapabildiklerinden daha fazla, ancak tüm gücü kabın içine taşımaları gerekenden daha fazla güç kazanıyor olabilirler III).
Bu sayıları herhangi bir tutarlı sırayla, ayrı argümanlar, tam sayılar listesi veya bu tam sayıları içeren bir dize olarak alabilirsiniz. Ayrıca alabilir P
gibi bir argüman olarak I
, II
, III
ayrı bir liste argüman olarak.
Sen çıkış üç tamsayılar gerektiğini I'
, II'
, III'
her kapta güç miktarını temsil hangi sonra P
birimler kazanmış veya kurallar yukarıda açıklandığı ardından harcandı.
Bir program veya fonksiyon yazabilir ve standart girdi alma ve çıktı alma yöntemlerimizden herhangi birini kullanabilirsiniz .
Herhangi bir programlama dilini kullanabilirsiniz , ancak bu boşlukların varsayılan olarak yasak olduğunu unutmayın .
Bu kod-golf , yani en kısa geçerli cevap - bayt cinsinden - kazanır.
Test Kılıfları
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