Kimin en iyi olduğunu bulmak için bir taş-kağıt-makas şampiyonası düzenlemeye karar verdiniz . Kazanana karar vermek için şansa izin vermek istemezsiniz, bu yüzden herkes yarışmadan önce size yazılı olarak taktiğini vermek zorundadır. Basit şeyleri de seversiniz, bu yüzden bir rakibin (kaya, kağıt veya makas gösterme) hareketi sadece önceki dönüşe (RvR, RvP, RvS, PvR, PvP, PvS, SvR, SvP veya SvS) dayanmalıdır. İlk sırada bir oyuncu sabit bir işaret göstermek zorundadır.
Şampiyonayı simüle etmek için bir program (veya işlev) yazmaya karar verdiniz.
Yarışmanın ayrıntıları
- En az 2 yarışmacı olacaktır.
- Her oyuncu diğer herkesle tam olarak bir maç oynar.
- Bir maç 7 tur sürer.
- Her turda kazanan 2 puan alır, kaybeden hiçbir puan kazanmaz. Beraberlik durumunda her iki oyuncu da 1 puan alır.
- Bir maçtaki oyuncuların puanı, maçın dönüşlerindeki puanlarının toplamıdır.
- Bir şampiyonada bir oyuncunun final skoru, tüm maçlardaki puanlarının toplamıdır.
Giriş detayları:
- programınız veya işleviniz,
N
her biri bir oyuncu stratejisine karşılık gelen 10 karakter uzunluğunda dizeler alır . Tüm karakterler (küçük harf)r
p
veyas
verilen durumda oyuncunun taş kağıt veya makas göstereceği anlamına gelir. - İlk harf ilk dönüşü kodlar (bu yarışmacı için her maçta). İkincisi, son tur kayaya karşı kaya olsaydı ne olacağını gösterir. Bir sonraki olanlar RvP, RvS, PvR, PvP, PvS, SvR, SvP ve SvS'dir; burada ilk harf oyuncunun işareti ve ikincisi rakibin işaretidir. Örneğin
rrpsrpsrps
, oyuncunun rock ile başladığı ve sonra rakibin son hamlesini kopyaladığı anlamına gelir. - Dize listesine bir liste / dizi veya dilinizin benzer verileri veya bir dize olarak girebilirsiniz. İkinci durumda, bir tür ayırıcı karakter bir zorunluluktur.
Çıktının ayrıntıları:
- Programınız veya fonksiyonunuz, her oyuncunun final skorlarını, giriş verildiği sırayla çıkarmalıdır.
- Skorlar boşluk veya satırsonu ile ayrılmalıdır. Sondaki boşluk veya yeni satıra izin verilir.
Örnekler:
Giriş:
['rrpsrpsrps', 'rpppsprrpr']
Çıktı:
5 9
(dönüşler rvr rvp pvs svp pvr rvp pvs
)
Giriş:
['rrpsrpsrps', 'rpppsprrpr', 'ssssssssss']
Çıktı:
13 17 12
(maçlar 5-9
(1. - 2.), 8-6
(1. - 3.) ve 8-6
(2. - 3.))
Bu kod golf bu yüzden en kısa giriş kazanır.
6-8
kaybeder, 2'nci 3'lü ile kaybeder 6-8
.