En las Damas chinas , una pieza puede moverse saltando sobre cualquier otra pieza, o haciendo una secuencia de tales saltos. Su tarea es encontrar la secuencia más larga posible de saltos.
Entrada
Una secuencia de 121 ceros o unos, cada uno representando un lugar en un tablero. Un cero significa que el lugar está vacío; uno significa que el lugar está ocupado. Las posiciones se enumeran de izquierda a derecha; de arriba hacia abajo. Por ejemplo, la entrada de esta configuración sería
1011110011000001000000000000000000000000100000000001000000000000000000000000000001000000000000000000000001000001100111111
Explicación:
El lugar superior está ocupado por una pieza verde, por lo que el primer dígito en la entrada es
1
. La segunda fila tiene una posición vacía y luego una posición ocupada, entonces01
viene la siguiente. La tercera fila está ocupada, entonces111
. La cuarta fila tiene dos espacios vacíos y dos espacios ocupados (de izquierda a derecha), entonces0011
. Luego vienen cinco0
, a1
y siete0
para la siguiente fila, y así sucesivamente.
Al igual que en esa configuración, hay una esquina apuntando hacia arriba. Puede haber cualquier cantidad de piezas en el tablero (de 1 a 121). Tenga en cuenta que las piezas de diferentes colores no se representan de manera diferente.
Salida
La longitud máxima de un salto legal, usando cualquier pieza en el tablero. No puede visitar el mismo lugar más de una vez (incluidas las posiciones inicial y final). Sin embargo, puede saltar sobre la misma pieza más de una vez. Si no hay salto legal, salida 0
. No considere si existe un movimiento legal sin salto.
Por ejemplo, la salida a la configuración descrita anteriormente es 3
.
La entrada y salida se pueden realizar a través de stdin y stdout, a través de argumentos de línea de comandos, a través de llamadas a funciones o cualquier método similar.
Casos de prueba
Entrada:
0100000010000000000000000100000000000000000000000000000001010010000000000000000000000101000000000000000000100000000100001
Salida: 0
(no hay dos piezas una al lado de la otra)
Entrada:
0000000000111100000000011100000000011000000000100000000000000000000000000000000000000000000000000000000000000000000000000
Salida: 1
(configuración inicial para un jugador en la esquina superior izquierda)