Giriş
Bu meydan okumada, göreviniz belirli bir tür eleme oyunu simüle etmektir. Oyunda katılımcılar bir daire içinde duruyor ve herkes bir tamsayı tutuyor. Oyunun her turunda, her katılımcı , elinde tuttuğu sayı nise n, uzaklaşır . Eğer npozitif ise, onlar, onların sağa saymak nnegatif onların sola saymak ve eğer nsıfırdır, kendi kendilerini etmektedir. Birini işaret eden her katılımcı elenir ve daireyi terk eder; bu tur sona erer. Hiç katılımcı kalmayıncaya kadar turlar devam eder.
Giriş
Girişiniz, herhangi bir makul biçimde boş olmayan bir tamsayı listesidir. Oyunun katılımcılarının sahip olduğu sayıları temsil eder.
Çıktı
Çıktınız oyun bitene kadar geçen tur sayısıdır.
Misal
Giriş listesini düşünün [3,1,-2,0,8]. İlk turda aşağıdakiler olur:
- Holding kişi, tutan kişiye
3işaret eder0. - Holding kişi, tutan kişiye
1işaret eder-2. - Puan tutan kişi, tutan kişiye
-2bırakıldı3. 0Kendini tutan kişi kendini gösteriyor .- Tutan kişi, doğrudan tutulan kişiye
8işaret-2eder (liste bir daireyi temsil eder, bu nedenle uçlarda sarar).
Bu demektir ki 0, -2ve 3yok edilir, böylece ikinci tur listesi ile yapılır [1,8]. Burada, 1en noktaları 8ve 8kendi kendilerine de noktalarında, yani 8elimine edilir. Üçüncü tur listesi ile yapılır [1], 1sadece kendi kendilerine işaret ve elimine edilir. Tüm katılımcıları ortadan kaldırmak üç tur aldı, bu yüzden doğru çıktı 3.
Kurallar ve puanlama
Tam bir program veya işlev yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklara izin verilmez.
Test senaryoları
[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
ngerekirse: kişinin elinde tuttuğu sayı mı?