Ir al contenido (saltar navegación)

Los jardines de La Alhambra

Tiempo máximo: 1,000-2,000 sMemoria máxima: 4096 KiB
Jardines de La Alhambra

La Alhambra, en Granada, es gran un recinto amurallado que contiene palacios, fortalezas y jardines de distintas épocas de la historia. Comenzó a construirse en el siglo XIII sobre asentamientos previos y en 1984 fue el primer lugar de España en ser declarado Patromonio de la Humanidad por la Unesco, junto al Generalife. En 1994 este nombramiento se extendió al cercano barrio del Albaicín.

El Patronato de la Alhambra y el Generalife es la entidad que se encarga de su gestión y mantenimiento. Con la gran cantidad de zonas ajardinadas que hay que mantener en buen estado, se está planteando la compra de cortacéspedes con GPS. Cuando se coloca en un jardín, uno de estos dispositivos puede encargarse de forma autónoma de su cuidado, orientándose en él gracias a la señal de geolocalización y sin salirse de la zona que debe mantener.

El problema es que La Alhambra tiene una gran cantidad de zonas de jardín independientes y para cada una es necesario un cortacésped, pues éstos no pueden cambiar de zona si no están unidas. Dado el mapa de La Alhambra con sus jardines marcados, ¿cuántos cortacéspedes hay que comprar?

Entrada

Cada caso de prueba comienza con dos números entre 1 y 100, f y c, indicando respectivamente el número de filas y de columnas en las que está dividido el plano del recinto que hay que analizar. A continuación aparecerán f líneas cada una con c caracteres que pueden ser o bien "#" o bien "." (punto). Un "#" indica una zona de jardín por la que un cortacésped puede desplazarse y un "." indica una zona intransitable para él.

Salida

Por cada caso de prueba el programa escribirá el número de cortacéspedes que es necesario adquirir para poder mantener de forma automática todas las zonas de jardín del recinto sin que haya que cambiarlos de ubicación. Un cortacésped puede pasar de una región con césped del recinto a otra si son adyacentes en vertical o en horizontal.

Entrada de ejemplo

4 7
..#.#..
..#.#..
..#####
.##....
3 6
##..##
..##..
..###.

Salida de ejemplo

1
3