introduzione
In questa sfida, il tuo compito è simulare un certo tipo di gioco di eliminazione. Nel gioco, i partecipanti stanno in cerchio e tutti hanno un numero intero. Ad ogni round del gioco, ogni partecipante punta alla persona nche si allontana, se nè il numero che sta tenendo. Se nè positivo, contano alla loro destra, se nè negativo, contano alla loro sinistra e se nè zero, indicano se stessi. Ogni partecipante che ha qualcuno che li punta viene eliminato e lascia il cerchio; questo termina il round. I round continuano fino a quando non rimangono più partecipanti.
Ingresso
Il tuo input è un elenco non vuoto di numeri interi, in qualsiasi formato ragionevole. Rappresenta i numeri che detengono i partecipanti al gioco.
Produzione
Il tuo risultato è il numero di round necessari fino alla fine del gioco.
Esempio
Considera l'elenco di input [3,1,-2,0,8]. Al primo turno, succede quanto segue:
- La persona che detiene
3punti direttamente alla persona in possesso0. - La persona che detiene
1punti direttamente alla persona in possesso-2. - La persona che detiene
-2punti lasciati alla persona in possesso3. - La persona che si tiene
0per sé. - La persona che tiene
8punta verso la persona in mano-2(l'elenco rappresenta un cerchio, quindi si avvolge alle estremità).
Ciò significa che 0, -2e 3vengono eliminati, quindi il secondo turno avviene con l'elenco [1,8]. Qui, 1punti 8e 8punti su se stessi, così 8viene eliminato. Il terzo round è fatto con la lista [1], dove 1indica semplicemente se stesso e viene eliminato. Ci sono voluti tre round per eliminare tutti i partecipanti, quindi l'output corretto è 3.
Regole e punteggio
È possibile scrivere un programma completo o una funzione. Vince il conteggio di byte più basso e non sono consentite scappatoie standard.
Casi test
[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è il numero che ha la persona?