Lacs de Finlande – Épreuve régionale 2007

Niveau 4

ENONCE

On représente une carte par un tableau de caractères à deux dimensions. Chaque caractère peut être soit # (de la terre), soit . (de l'eau). Un lac est une zone d'eau bordée de terre. Deux cases d'eau adjacentes appartiennent donc au même lac (deux cases en diagonale ne sont pas adjacentes). On garantit par ailleurs que le bord de la carte sera systématiquement de la terre.

On considère que la profondeur en un point correspond à la distance minimale entre ce point et la côte (zone de terre) la plus proche. Cette distance se compte en nombre de cases (distance Manhattan). Par exemple, une case d'eau adjacente à une case de terre aura une profondeur de 1.

Vous devez écrire une programme qui doit renvoyer la profondeur maximale qui existe sur la carte.

CONTRAINTES

Les cartes pourront faire jusqu'à 100 par 100.

ENTREE

La première ligne de l'entrée contient deux entiers X et Y

Les Y lignes suivantes contiennent X caractères qui correspondent à la carte.

SORTIE

La sortie contiendra un entier : la profondeur maximal présente sur la carte.

Contraintes d'exécution

Utilisation mémoire maximum
8192 kilo-octets
Temps d'exécution maximum
1000 millisecondes

Exemples d'entrée/sortie

Exemple d'entrée
26 18
##########################
####....##################
##.........###############
##..........##############
##..........##############
#..........######.....####
#........######......#####
##.....#########......####
###..##########......#####
################.....#####
#################...######
##########################
########....##############
#######......#############
########....######..######
#################....#####
###################..#####
##########################
Exemple de sortie
4