Memberikan tantangan yang melibatkan referensi Star Trek tepat setelah 4 Mei mungkin disukai, tapi begini saja.
Anda, Luke, Anakin, Palpatine, Yoda dan Han Solo terlibat dalam turnamen gila Rock, Paper, Scissor, Lizard, Spock.
Tangkapannya di sini adalah Anda hanya diizinkan menggunakan urutan gerakan yang tetap. Jika pesanan Anda adalah "R", Maka Anda harus menggunakan Rock, sampai Anda kalah atau menang melawan semua orang. Jika pesanan Anda RRV, maka Anda harus menggunakan 2 Batu diikuti oleh Spock dan terus mengulangi sampai Anda menang atau kalah.
Luke, Anakin, Palpatine, Yoda dan Han Solo telah mengirimkan pesanan mereka masing-masing dan Anda sebagai peretas ahli dapat memesan setiap pesanan mereka!
Dengan pengetahuan ini, Anda harus merancang pemesanan Anda untuk turnamen. Karena semua orang ingin menang, Anda ingin membuat pemesanan sehingga Anda memenangkan turnamen dengan mengalahkan semua orang. Tetapi ini mungkin tidak mungkin dilakukan dalam semua keadaan.
Jika ada kemungkinan pesanan yang menang, cetaklah itu. Jika tidak ada cara yang memungkinkan bagi Anda untuk menang, cetak -1 (atau 0 atau Salah atau "tidak mungkin")
Input : daftar 5 pesanan
Output : satu urutan atau -1
Input Sampel 1
R
P
S
L
V
Output Sampel 1
-1
Penjelasan 1
Tidak peduli apa yang Anda mainkan di langkah pertama Anda, akan ada setidaknya satu orang yang mengalahkan Anda, oleh karena itu tidak mungkin bagi Anda untuk menang.
Input Sampel 2
RPS
RPP
R
SRR
L
Keluaran Sampel 2
RPSP
Penjelasan 2
Setelah Anda memainkan Rock di gerakan pertama Anda, Anda akhirnya mengalahkan "L" dan "SRR" dan mengikat sisanya. Ini karena Kadal dan Gunting kalah dari Rock. Ketika Anda memainkan Paper berikutnya, Anda akan mengalahkan "R" dan mengikat 2 yang tersisa. Ini karena Rock kalah dari Paper. Ketika Anda memainkan Gunting berikutnya, Anda akan menang melawan "RPP" saat Scissor mengalahkan Paper.
Akhirnya, Anda akan mengalahkan "RPS" dengan Kertas Anda sebagai Kertas mengalahkan Rock.
Berikut adalah daftar notasi (Anda dapat menggunakan 5 literal apa pun, tetapi harap cantumkan dalam jawaban Anda):
R : Rock
P : Paper
S : Scissor
L : Lizard
V : Spock
Berikut adalah daftar semua hasil yang mungkin:
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
Ini kode-golf , byte paling sedikit menang.
PS: Beri tahu saya kalau perlu lebih banyak test case.