Donner un défi impliquant une référence Star Trek juste après le 4 mai peut être mal vu, mais c'est parti.
Vous, Luke, Anakin, Palpatine, Yoda et Han Solo êtes impliqués dans un tournoi fou de Rock, Paper, Scissor, Lizard, Spock.
Le problème ici est que vous n'êtes autorisé à utiliser qu'un ordre fixe de mouvements. Si votre commande est "R", alors vous devez utiliser Rock, jusqu'à ce que vous perdiez ou gagniez contre tout le monde. Si votre commande est RRV, vous devez utiliser 2 Roches suivies d'un Spock et continuer à répéter jusqu'à ce que vous ayez gagné ou perdu.
Luke, Anakin, Palpatine, Yoda et Han Solo ont soumis leurs commandes respectives et vous, en tant que hacker expert, avez mis la main sur chacune de leurs commandes!
Avec cette connaissance, vous devez concevoir votre commande pour le tournoi. Puisque tout le monde veut gagner, vous voulez créer un ordre tel que vous gagnez le tournoi en battant tout le monde. Mais cela peut ne pas être possible en toutes circonstances.
Au cas où il y aurait une commande gagnante possible, imprimez-la. S'il n'y a aucun moyen possible de gagner, imprimez -1 (ou 0 ou Faux ou "impossible")
Entrée : une liste de 5 commandes
Sortie : une seule commande ou -1
Exemple d'entrée 1
R
P
S
L
V
Exemple de sortie 1
-1
Explication 1
Peu importe ce que vous jouez lors de votre premier coup, il y aura au moins une personne qui vous battra, il n'est donc pas possible pour vous de gagner.
Exemple d'entrée 2
RPS
RPP
R
SRR
L
Exemple de sortie 2
RPSP
Explication 2
Une fois que vous jouez Rock dans votre premier coup, vous finissez par battre "L" et "SRR" et vous égalisez contre les autres. C'est parce que le lézard et les ciseaux perdent contre Rock. Lorsque vous jouez à Paper ensuite, vous battrez "R" et vous égalerez contre les 2 restants. C'est parce que Rock perd contre Paper. La prochaine fois que vous jouerez à Ciseaux, vous gagnerez contre "RPP" alors que Scissor bat Paper.
Enfin, vous battrez "RPS" avec votre Paper comme Paper bat Rock.
Voici une liste de notations (vous pouvez utiliser n'importe quel 5 littéraux, mais veuillez préciser dans votre réponse):
R : Rock
P : Paper
S : Scissor
L : Lizard
V : Spock
Voici une liste de tous les résultats possibles:
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
C'est du code-golf , donc moins d'octets gagnent.
PS: dites-moi si vous avez besoin de plus de cas de test.