Вызов, включающий ссылку на «Звездный путь» сразу после 4-го мая, может быть неодобрительным, но здесь идет.
Вы, Люк, Анакин, Палпатин, Йода и Хан Соло участвуете в безумном турнире Рок, Бумага, Ножницы, Ящерица, Спок.
Подвох в том, что вам разрешено использовать только фиксированный порядок ходов. Если ваш ордер "R", то вы должны использовать Рок, пока не проиграете или не выиграете у всех. Если ваш ордер RRV, то вы должны использовать 2 Камня, за которыми следует Спок, и повторять до тех пор, пока вы не выиграете или не проиграете.
Люк, Анакин, Палпатин, Йода и Хан Соло представили свои соответствующие заказы, и вы, будучи опытным хакером, получили в свои руки каждый из них!
Обладая этими знаниями, вы должны разработать свой заказ на турнир. Поскольку все хотят выиграть, вы хотите создать такой порядок, чтобы выиграть турнир, обыграв всех. Но это может быть невозможно при любых обстоятельствах.
Если есть возможный выигрышный ордер, распечатайте его. Если у вас нет возможности выиграть, выведите -1 (или 0 или Ложь или «невозможно»).
Вход : список из 5 заказов
Выход : один заказ или -1
Пример ввода 1
R
P
S
L
V
Пример вывода 1
-1
Объяснение 1
Независимо от того, что вы играете в своем первом движении, будет хотя бы один человек, который побьет вас, поэтому вы не сможете выиграть.
Пример ввода 2
RPS
RPP
R
SRR
L
Пример вывода 2
RPSP
Объяснение 2
После того, как вы сыграете Рок в своем первом движении, вы в конечном итоге выиграете «L» и «SRR» и сыграете вничью с остальными. Это потому, что Ящерица и Ножницы проигрывают Року. Когда вы будете играть в «Бумагу» дальше, вы будете бить «R» и связываться с оставшимися 2. Это потому, что «Рок» проигрывает «Бумаге». Когда вы будете играть Ножницами дальше, вы выиграете у «RPP», поскольку Ножницы бьют Бумагу.
Наконец, вы будете бить «RPS» с вашей бумагой, как бумага бьет рок.
Вот список обозначений (вы можете использовать любые 5 литералов, но, пожалуйста, укажите в своем ответе):
R : Rock
P : Paper
S : Scissor
L : Lizard
V : Spock
Вот список всех возможных результатов:
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
Это код-гольф , поэтому выигрывает меньше байтов.
PS: Дайте мне знать, если вам нужно больше тестов.