pengantar
Dalam tantangan ini, tugas Anda adalah mensimulasikan jenis permainan eliminasi tertentu. Dalam permainan, para peserta berdiri dalam lingkaran, dan semua orang memegang bilangan bulat. Pada setiap putaran permainan, setiap peserta menunjuk pada orang tersebut nmenjauh, jika nnomor yang mereka pegang. Jika npositif, mereka menghitung ke kanan, jika nnegatif, mereka menghitung ke kiri, dan jika nnol, mereka menunjuk pada diri mereka sendiri. Setiap peserta yang memiliki seseorang yang menunjuk pada mereka dihilangkan, dan meninggalkan lingkaran; ini mengakhiri babak. Putaran berlanjut sampai tidak ada peserta yang tersisa.
Memasukkan
Input Anda adalah daftar bilangan bulat yang tidak kosong, dalam format apa pun yang masuk akal. Ini mewakili angka yang dipegang oleh para peserta game.
Keluaran
Output Anda adalah jumlah putaran yang dibutuhkan hingga permainan berakhir.
Contoh
Pertimbangkan daftar input [3,1,-2,0,8]. Di babak pertama, berikut ini terjadi:
- Orang yang memegang
3menunjuk tepat ke orang yang memegang0. - Orang yang memegang
1menunjuk tepat ke orang yang memegang-2. - Orang yang memegang
-2poin tertinggal di orang yang memegang3. - Orang yang memegang
0poin pada dirinya sendiri. - Orang yang memegang
8titik tepat di orang yang memegang-2(daftar mewakili lingkaran, sehingga membungkus di ujungnya).
Ini berarti 0, -2dan 3dihilangkan, sehingga putaran kedua dilakukan dengan daftar [1,8]. Di sini, 1menunjuk pada 8, dan 8menunjuk pada diri mereka sendiri, jadi 8dihilangkan. Babak ketiga dilakukan dengan daftar [1], di mana 1hanya menunjuk pada diri mereka sendiri dan dihilangkan. Butuh tiga putaran untuk menghilangkan semua peserta, sehingga hasil yang benar adalah 3.
Aturan dan penilaian
Anda dapat menulis program atau fungsi lengkap. Hitungan byte terendah menang, dan celah standar tidak diizinkan.
Uji kasus
[3] -> 1
[0,0,0] -> 1
[-2,-1,0,1,2,3,4,5,6,7] -> 2
[5,5,5,6,6,6] -> 2
[3,-7,-13,18,-10,8] -> 2
[-7,5,1,-5,-13,-10,9] -> 2
[4,20,19,16,8,-9,-14,-2,17,7,2,-2,10,0,18,-5,-5,20] -> 3
[11,2,7,-6,-15,-8,15,-12,-2,-8,-17,6,-6,-5,0,-20,-2,11,1] -> 4
[2,-12,-11,7,-16,9,15,-10,7,3,-17,18,6,6,13,0,18,10,-7,-1] -> 3
[18,-18,-16,-2,-19,1,-9,-18,2,1,6,-15,12,3,-10,8,-3,7,-4,-11,5,-15,17,17,-20,11,-13,9,15] -> 6
napakah nomor yang dipegang orang itu?