Bataille navale - 3
Problem
Tout le monde connaît le jeu passionnant "Battleship". Vous pouvez désormais jouer à Sea Battle non seulement avec un voisin sur votre bureau, mais également avec un ordinateur. Le jeu avec l'ordinateur se joue sur un champ rectangulaire de tailles arbitraires N×M
, où N
est le nombre de lignes, M
est le le nombre de colonnes. Le championnat du monde de bataille navale approche. Il est prévu de le diffuser en temps réel : afficher une carte avec les navires et afficher des statistiques : le nombre de navires intacts, endommagés et détruits sur le terrain. Il est nécessaire d'écrire un programme pour calculer des statistiques.
Expédier sur le terrain — il s'agit d'une figure connectée, debout à partir d'une ou plusieurs cellules adjacentes qui ont un côté commun. Les navires peuvent être de n'importe quelle forme et de n'importe quelle taille !
Entrée
La première ligne contient deux entiers N
et M
(\(1<= N,M <= 10^3\) ), séparés par des espaces. Ce sont les dimensions du terrain de jeu. Viennent ensuite les lignes N
de caractères M
- une description du terrain de jeu. La lettre anglaise 'X'
indique une cellule de navire rembourrée, 'S'
- une cellule de navire non doublée, '-'
– espace d'eau libre.
Sortie
Dans votre réponse, indiquez trois nombres séparés par un espace :
- nombre de navires entiers ;
- nombre de navires naufragés ;
- nombre de navires détruits.
Exemples
# |
Entrée |
Sortie |
1 |
3 8
---SSS--
XX--S-X-
X-S---S-
2 1 1 |