Introducción a la Programación
Trimestre 2005 Primavera --- Tarea 6

Jueves 23 de junio de 2005 a las 22:00 hrs

Buscaminas

¿Has jugado alguna vez al Buscaminas? Este es un jueguito que viene con un cierto sistema operativo cuyo nombre no puedo recordar. El objetivo del juego es el de encontrar dónde están localizadas todas las minas en un campo de M por N. El juego muestra un número en un cuadro que te dice cuántas minas hay adyacentes a ese cuadro. Cada cuadro tiene a lo mucho ocho cuadros adyacentes, por lo que usaremos el número 9 para indicar la presencia de una mina. El campo de 4 por 4 de la izquierda contiene dos minas, representadas por el número 1, y el resto del campo no tiene minas, representado por el número 0. Si representamos el mismo campo usando las pistas descritas arriba, terminamos con el campo de la derecha:

1
0
0
0

9
1
0
0
0
0
0
0

2
2
1
0
0
1
0
0

1
9
1
0
0
0
0
0

1
1
1
0

Especificación

La entrada consiste de dos números enteros M y N en ese orden, separados por espacios y cada uno tendrá un valor entre 1 y 20, seguida de M líneas cada una con N enteros 0 ó 1 separados por espacios. La salida consiste de M líneas cada una con N enteros del 0 al 9 separados por un espacio. El nombre de su programa deberá ser bminasNN.c, donde NN es el número de equipo que les fue asignado. Los archivos bminasNN.o y bminasNN.exe no deben ser entregados. Notas: (a) Su programa no deberá leer ni escribir nada además de los datos mencionados anteriormente. (b) Su programa no deberá usar nada que no hayamos visto en clase. (c) Para compilar su programa en UNIX usen la instrucción gcc bminasNN.c -o bminas y para probarlo usen la instrucción ./bminas y tecleen la entrada deseada seguida de un enter.

Ejemplo

ENTRADA:   SALIDA:

4 4        9 1 0 0
1 0 0 0    2 2 1 0
0 0 0 0    1 9 1 0
0 1 0 0    1 1 1 0
0 0 0 0