Otro problema del juego de la vida P27238


Statement
 

pdf   zip

html

El matemàtico inglés John Conway inventó el año 1970 el juego siguiente: Imaginad una matriz con n filas y m columnas. Se consideran posiciones vecinas a una posición las ocho posiciones adyacentes, ya sea horizontalmente, verticalmente o bien en diagonal. (En este problema consideraremos que la matriz es toroidal, es decir, que la primera y la última filas son adyacentes, y lo mismo respecto a las columnas.) En cada instante, cada posición está vacía o contiene una bacteria. Las reglas son:

  • Una posición vacía en un instante t contendrá una bacteria en el instante t + 1 si y sólo si en el instante t tenía exactamente tres bacterias vecinas.
  • Una posición ocupada en un instante t contendrá una bacteria en el instante t + 1 si y sólo si en el instante t tenía dos o tres bacterias vecinas.

Haced un programa que, para cada matriz dada, escriba su evolución durante unos cuantos instantes de tiempo.

Entrada

La entrada consiste en varios casos. Cada caso empieza con tres naturales n, m y t seguidos de n líneas, cada una con m caracteres: ‘X’ si la posición tiene una bacteria, y ‘.’ si la posición está vacía. Suponed que n y m están entre 3 y 1000, y que t está entre 1 y 10.

Salida

Para cada caso, escribid la matriz correspondiente a los t instantes siguientes. Separad las matrices de cada caso con una línea vacía, y escribid una línea con 20 asteriscos al final de cada caso.

Public test cases
  • Input

    4 4 3
    ....
    ....
    .XXX
    ....
    
    3 3 1
    XXX
    XXX
    XXX
    

    Output

    ....
    ..X.
    ..X.
    ..X.
    
    ....
    ....
    .XXX
    ....
    
    ....
    ..X.
    ..X.
    ..X.
    ********************
    ...
    ...
    ...
    ********************
    
  • Input

    5 6 10
    ..X...
    ...X..
    .XXX..
    ......
    ......
    

    Output

    ......
    .X.X..
    ..XX..
    ..X...
    ......
    
    ......
    ...X..
    .X.X..
    ..XX..
    ......
    
    ......
    ..X...
    ...XX.
    ..XX..
    ......
    
    ......
    ...X..
    ....X.
    ..XXX.
    ......
    
    ......
    ......
    ..X.X.
    ...XX.
    ...X..
    
    ......
    ......
    ....X.
    ..X.X.
    ...XX.
    
    ......
    ......
    ...X..
    ....XX
    ...XX.
    
    ......
    ......
    ....X.
    .....X
    ...XXX
    
    ....X.
    ......
    ......
    ...X.X
    ....XX
    
    ....XX
    ......
    ......
    .....X
    ...X.X
    ********************
    
  • Information
    Author
    Salvador Roura
    Language
    Spanish
    Official solutions
    C++
    User solutions
    C++