Reunión de los estudiantes
Los concursantes de la CIIC que asistirán a la próxima IOI están probando un sistema de movimientos que les permita reunirse en algún punto y no perderse en ciudades extrañas para ellos. Utilizaremos para la representación de las ciudades un tablero de casillas donde cada uno de los concursantes está en diferentes casillas. En una unidad de tiempo cada concursante tiene que moverse de cualquiera de las siguientes cuatro maneras:
• casillas al oeste y casillas al norte.
• casillas al este y casillas al sur.
• casillas al oeste y casillas al sur.
• casillas al este y casillas al norte.
Nótese que todos los concursantes se mueven a la vez y aunque inician en distintas posiciones pueden eventualmente compartir alguna posición; además está prohibido que un concursante permanezca sin moverse durante una unidad de tiempo.
El tablero está periodificado, esto quiere decir que si un concursante salta de una posición , cuadros al este ( puede ser negativo) y cuadros al sur (y también puede ser negativo), entonces su posición final será , , el operador mod representa la división entera entre dos números enteros. Nótemos que es el residuo no negativo de dividir por . Es decir, el menor entero no negativo tal que es múltiplo de . Por ejemplo: , , . En otras palabras como nuestro tablero no tiene posiciones negativas, cuando nos movemos y llegamos a un lado del tablero entonces continuamos el mismo movimiento en el lado opuesto a este.
Los concursantes quieren saber si es posible que ellos puedan reunirse en un mismo lugar después de cierto número de unidades de tiempo, y de ser posible, que dicho número de unidades de tiempo sea el menor.
Tu tarea es hacer un programa que permita:
- Leer desde la entrada la ubicación de los concursantes en el tablero y la cantidad de casillas que se pueden mover.
- Determinar, si es posible, el mínimo número de unidades de tiempo que los concursantes necesitan para reunirse en un mismo lugar.
- Escribir hacia la salida el mínimo de tiempo encontrado o un cartel indicando que es imposible reunirse todos los concursantes en un mismo punto.
Entrada
Línea 1: Dos enteros: y , separados entre si por un espacio en blanco, los cuales representan respectivamente las dimensiones del tablero y la cantidad de casillas que se pueden desplazarse los concursantes. Línea 2..N+1: En cada una de ellas aparecerán dígitos(sin espacios) que pueden ser ó representando posiciones de la cuadrícula, donde significa que hay un estudiante en la casilla y que la casilla está vacía. La esquina superior izquierda del tablero es la .
Salida
La salida contiene en una sola línea un entero indicando el mínimo número de unidades de tiempo, si no es posible reunir los concursantes se debe imprimir “INFINITO”.
Ejemplo de Entrada
3 2
101
000
000
Ejemplo de Salida
1
Explicación
El estudiante que está en da un salto de la forma llegando a y el que está en da un salto de la forma llegando a
Restricciones
- Para todos los casos .
Comments