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ı n
ise n
, uzaklaşır . Eğer n
pozitif ise, onlar, onların sağa saymak n
negatif onların sola saymak ve eğer n
sı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
3
işaret eder0
. - Holding kişi, tutan kişiye
1
işaret eder-2
. - Puan tutan kişi, tutan kişiye
-2
bırakıldı3
. 0
Kendini tutan kişi kendini gösteriyor .- Tutan kişi, doğrudan tutulan kişiye
8
işaret-2
eder (liste bir daireyi temsil eder, bu nedenle uçlarda sarar).
Bu demektir ki 0
, -2
ve 3
yok edilir, böylece ikinci tur listesi ile yapılır [1,8]
. Burada, 1
en noktaları 8
ve 8
kendi kendilerine de noktalarında, yani 8
elimine edilir. Üçüncü tur listesi ile yapılır [1]
, 1
sadece 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
n
gerekirse: kişinin elinde tuttuğu sayı mı?