Introducción
En este desafío, su tarea es simular un cierto tipo de juego de eliminación. En el juego, los participantes se paran en círculo y todos sostienen un número entero. En cada ronda del juego, cada participante señala a la persona nque se aleja, si nes el número que tiene. Si nes positivo, cuentan a su derecha, si nes negativo, cuentan a su izquierda, y si nes cero, se señalan a sí mismos. Cada participante que tiene a alguien que los señala se elimina y abandona el círculo; Esto termina la ronda. Las rondas continúan hasta que no quedan participantes.
Entrada
Su entrada es una lista no entera de enteros, en cualquier formato razonable. Representa los números que tienen los participantes del juego.
Salida
Su salida es la cantidad de rondas que se necesitan hasta que finaliza el juego.
Ejemplo
Considere la lista de entrada [3,1,-2,0,8]. En la primera ronda, sucede lo siguiente:
- La persona que tiene
3puntos justo en la persona que tiene0. - La persona que tiene
1puntos justo en la persona que tiene-2. - La persona que tiene
-2puntos dejó en la persona que tiene3. - La persona que tiene
0puntos en sí misma. - La persona que tiene
8puntos justo en la persona que tiene-2(la lista representa un círculo, por lo que se envuelve en los extremos).
Esto significa que 0, -2y 3se eliminan, por lo que la segunda ronda se realiza con la lista [1,8]. Aquí, 1apunta 8y 8apunta a sí mismo, por lo que 8se elimina. La tercera ronda se realiza con la lista [1], donde 1simplemente se señala a sí misma y se elimina. Se necesitaron tres rondas para eliminar a todos los participantes, por lo que el resultado correcto es 3.
Reglas y puntaje
Puede escribir un programa completo o una función. El conteo de bytes más bajo gana, y las lagunas estándar no se permiten.
Casos de prueba
[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
nes el número que tiene la persona?