4 Mayıs'tan hemen sonra bir Star Trek referansı içeren bir meydan okuma vermek kaşlarını çatmış olabilir, ama işte gidiyor.
Sen, Luke, Anakin, Palpatine, Yoda ve Han Solo Rock, Kağıt, Makas, Kertenkele, Spock gibi çılgın bir turnuvaya katıldın.
Buradaki yakalama, yalnızca sabit bir hamle sırası kullanmanıza izin verilmesidir. Siparişiniz "R" ise, o zaman herkesi kaybetene veya kazanana kadar Rock kullanmak zorundasınız. Siparişiniz RRV ise, 2 Rocks ve ardından bir Spock kullanmanız ve kazanana veya kaybetene kadar tekrarlamaya devam etmeniz gerekir.
Luke, Anakin, Palpatine, Yoda ve Han Solo kendi siparişlerini verdiler ve uzman bir bilgisayar korsanı olmanın her emrini ele geçirin!
Bu bilgi ile turnuva için siparişinizi tasarlayacaksınız. Herkes kazanmak istediğinden, turnuvayı herkesi yenerek kazanacak şekilde bir sipariş oluşturmak istersiniz. Ancak bu her koşulda mümkün olmayabilir.
Olası bir kazanan sipariş varsa, bunu yazdırın. Kazanmanın olası bir yolu yoksa, -1 (veya 0 veya Yanlış veya "imkansız") yazdırın
Girdi : 5 sipariş listesi
Çıktı : tek bir sipariş veya -1
Örnek Giriş 1
R
P
S
L
V
Örnek Çıktı 1
-1
Açıklama 1
İlk hamlenizde ne oynarsanız oynayın, sizi yenen en az bir kişi olacak, bu yüzden kazanmanız mümkün değil.
Örnek Giriş 2
RPS
RPP
R
SRR
L
Örnek Çıktı 2
RPSP
Açıklama 2
İlk hamlenizde Rock oynadığınızda, "L" ve "SRR" yi dövüyorsunuz ve geri kalanına karşı bağlıyorsunuz. Bunun nedeni Kertenkele ve Makas'ın Rock'ı kaybetmesidir. Daha sonra Paper oynadığınızda, "R" yi dövecek ve kalan 2'ye bağlanacaksınız. Bunun nedeni, Rock'ın Paper'a kaybetmesidir. Bir sonraki Scissors oynadığınızda, Scissor Paper'ı geçtiği için "RPP" ye karşı kazanacaksınız.
Son olarak, Paper Rock'ı yenerken Paper ile "RPS" yi yeneceksiniz.
Gösterimlerin listesi (5 değişmez değeri kullanabilirsiniz, ancak lütfen cevabınızda belirtin):
R : Rock
P : Paper
S : Scissor
L : Lizard
V : Spock
İşte olası tüm sonuçların bir listesi:
winner('S', 'P') -> 'S'
winner('S', 'R') -> 'R'
winner('S', 'V') -> 'V'
winner('S', 'L') -> 'S'
winner('S', 'S') -> Tie
winner('P', 'R') -> 'P'
winner('P', 'V') -> 'P'
winner('P', 'L') -> 'L'
winner('P', 'S') -> 'S'
winner('P', 'P') -> Tie
winner('R', 'V') -> 'V'
winner('R', 'L') -> 'R'
winner('R', 'S') -> 'R'
winner('R', 'P') -> 'P'
winner('R', 'R') -> Tie
winner('L', 'R') -> 'R'
winner('L', 'V') -> 'L'
winner('L', 'S') -> 'S'
winner('L', 'P') -> 'L'
winner('L', 'L') -> Tie
winner('V', 'R') -> 'V'
winner('V', 'L') -> 'L'
winner('V', 'S') -> 'V'
winner('V', 'P') -> 'P'
winner('V', 'V') -> Tie
Bu kod golf , en az bayt kazanır.
Not: Daha fazla test vakasına ihtiyacınız varsa bana bildirin.