Ini adalah tantangan di mana dua orang, 1 dan 2, berlari untuk jabatan. Orang-orang secara menentukan memilih dengan cara tertentu di dunia 1 dan 2, yang dapat memungkinkan para kandidat untuk mengetahui hasilnya sebelum pemilihan.
CATATAN: ini tidak dimaksudkan untuk merujuk pada pemilihan luar atau peristiwa politik lainnya.
Dua orang berlari untuk kantor. Kami akan memanggil orang-orang ini 1 dan 2. Karena mereka berdua ingin tahu apakah mereka akan memenangkan pemilihan, mereka memutuskan untuk menggunakan pengetahuan mereka tentang orang-orang dan beberapa kode untuk mengetahui apa hasilnya. Karena ingin meminimalkan pengeluaran pemerintah, kode ini harus sesingkat mungkin.
Tugas Anda: Diberikan serangkaian orang berdasarkan bagaimana mereka memberikan suara, hasil siapa yang memenangkan pemilihan.
Ada lima jenis orang di dunia 1 dan 2 yang menyenangkan dan menarik:
A
: orang yang pasti akan memilih 1.B
: orang yang pasti akan memilih 2.X
: orang yang akan memilih siapa pun orang di sebelah kiri mereka akan memilih. Jika tidak ada orang di sebelah kiri mereka, maka mereka memilih siapa pun orang di sebelah kanan mereka akan memilih. Jika tidak jelas untuk siapa orang yang berhak memilihnya, maka mereka tidak memberikan suara.Y
: orang akan memilih lawan dari orang di sebelah kiri mereka. Jika tidak ada orang di sebelah kiri mereka, maka mereka memilih lawan dari siapa pun di sebelah kanan mereka. Jika tidak jelas untuk siapa orang yang berhak memilihnya, maka mereka tidak memberikan suara.N
: orang yang tidak memilih.
Ini dievaluasi dari kiri ke kanan.
Contoh:
Siapa pun yang "dievaluasi" dalam huruf kecil, untuk kejelasan.
Input: `XXAYAN`
xX Votes for whoever their friend is voting for. Their friend has not decided yet, so it is unclear, so they do not vote.
Xx Person to left is voting "none" so votes "none."
a Votes for 1
Ay Since person on left is voting for 1, votes for 2.
a Votes for 1
n Does not vote
Jajak pendapat akhir:
2 orang memberikan suara untuk 1
1 orang memilih 2
3 orang tidak memilih
1 memiliki suara terbanyak, jadi 1 menang!
Kasus uji:
Anda dapat menggunakan karakter atau nilai lain sebagai input dan output, selama mereka berbeda. (Misalnya: angka alih-alih huruf, huruf berbeda, huruf kecil, benar / salah atau positif / negatif (untuk output), dll.)
Input -> Output
"AAAA" -> 1
"BBBB" -> 2
"BBAXY" -> 2
"BAXYBNXBAYXBN" -> 2
"XXAYAN" -> 1
"AAAABXXXX" -> 2
"AXNXXXXAYB" -> 1
"NANNY" -> 1
"XA" -> 1
"YAB" -> 2
"XY" -> anything (do not need to handle test cases with no victor)
"AB" -> anything (do not need to handle test cases with no victor)
none
merupakan kebalikan dari none
, jika perilaku NY
dalam komentar sudah benar.
XA
, XB
, YA
dan YB
.