El matemático inglés John Conway se inventó en 1970 el denominado "Juego de la vida": Imaginad una matriz cuadrada con filas y columnas, con posiciones libres y con posiciones ocupadas por una bacteria. El juego considera la evolución de las bacterias teniendo en cuenta reglas de interacción local.
En la matriz se consideran posiciones adyacentes a una posición las (como máximo ocho) posiciones que se encuentran a distancia 1, ya sea horizontalmente, verticalmente o en diagonal. En cada instante, cada posición de la matriz está vacía o contiene una bacteria. Las reglas son:
Una posición vacía en un instante contendrá una bacteria en el instante si y sólo si en el instante tenía exactamente tres bacterias adyacentes.
Una posición ocupada en un instante contendrá una bacteria en el instante si y sólo si en el instante tenía dos o más bacterias adyacentes.
Queremos hacer una simulación secuencial de la evolución del juego en la qué, en cada instante, sólo se actualiza una posición. La secuencia de posiciones sigue un recorrido en zig-zag por columnas, comenzando en la posición de arriba a la izquierda, , recorriendo la columna 0 de arriba a abajo ( a ), la columna 1 de abajo arriba ( a ), etc.
Llamamos vuelta a un recorrido completo de todas las posiciones
de la matriz siguiendo el recorrido en zig-zag por columnas.
Escribid un programa que, dada la matriz inicial del juego y un número
de vueltas, determine cuál es la matriz del juego después del número de
vueltas de simulación estipulado.
Observad que, si después de una vuelta de simulación la matriz no ha
cambiado, tampoco cambiará en las vueltas siguientes.
La entrada está formada por dos números naturales , el tamaño de la matriz, y , el número de vueltas, seguidos por una lista de posiciones de la matriz, pares de enteros entre y , que indican las posiciones de la matriz donde hay bacterias.
Escribid la matriz inicial del juego y las matrices intermedias (después de cada vuelta) siguiendo el formato de los ejemplos.
Tened en cuenta que, si después de una vuelta la matriz del juego no ha cambiado, esta matriz nunca se tiene que escribir más de dos veces.
Input
4 5 0 0 0 1 0 2 0 3 1 0 1 1 1 2 1 3 2 0 2 1 2 2 2 3 3 0 3 1 3 2 3 3
Output
BBBB BBBB BBBB BBBB BBBB BBBB BBBB BBBB
Input
3 2 0 0 0 2 1 1 2 0
Output
B.B .B. B.. ... ... ... ... ... ...
Input
3 1 0 2 1 2 2 1 2 2
Output
..B ..B .BB ... ..B .BB
Input
3 3 0 2 1 2 2 1 2 2
Output
..B ..B .BB ... ..B .BB ... .BB .BB ... .BB .BB
Input
3 1 0 0 0 1 1 1 1 2 0 2 0 2 1 2 2 2
Output
BBB .BB ..B BBB BBB ..B
Input
10 10 0 0 0 2 0 4 0 6 0 8 1 1 1 3 1 5 1 7 1 9 2 0 2 2 2 4 2 6 2 8 3 1 3 3 3 5 3 7 3 9 4 0 4 2 4 4 4 6 4 8 5 1 5 3 5 5 5 7 5 9 6 0 6 2 6 4 6 6 6 8 7 1 7 3 7 5 7 7 7 9 8 0 8 2 8 4 8 6 8 8 9 1 9 3 9 5 9 7 9 9
Output
B.B.B.B.B. .B.B.B.B.B B.B.B.B.B. .B.B.B.B.B B.B.B.B.B. .B.B.B.B.B B.B.B.B.B. .B.B.B.B.B B.B.B.B.B. .B.B.B.B.B ..BBBBBBB. .B.B.B.B.B B.B.B.B.BB BB.B.B.B.B B.B.B.B.BB BB.B.B.B.B B.B.B.B.BB BB.B.B.B.B B.B.B.B.B. .BBBBBBBBB ..BBBBBBB. .B.B.B.B.B B.B.B.B.BB BB.B.B.B.B B.B.B.B.BB BB.B.B.B.B B.B.B.B.BB BB.B.B.B.B B.B.B.B.B. .BBBBBBBBB