Module: Pesquise em profundidade. DFS


Problem

12 /12


Camas*

Problem

Um jardim retangular com N metros de largura e M metros de comprimento é dividido em quadrados com 1 metro de lado. Camas foram desenterradas nesta área. Uma cama é uma coleção de quadrados que satisfaz as seguintes condições:

* de qualquer quadrado desta cama você pode entrar em qualquer outro quadrado da mesma cama, movendo-se sucessivamente ao longo da cama de quadrado em quadrado através de seus lados comuns;
* duas camas não se cruzam e não se tocam nos lados vertical ou horizontal dos quadrados (tocar as camas com os cantos dos quadrados é permitido).
Conte o número de canteiros no jardim.

Entrada
A primeira linha contém os números N e M separados por um espaço, seguidos por N linhas de M caracteres cada. O símbolo # denota o território das camas, o ponto corresponde ao território desocupado. Não há outros caracteres no arquivo original. 1≤ N, M≤ 200.

Impressão
Imprima um número - o número de canteiros no jardim.


Exemplos
# Entrada Saída
1 5 10 ##..#####. .#.#.#.... ###..##.#. ..##.....# .###.##### 5