Sei uno degli sviluppatori del gioco Battaglia Navale. Al momento sei incaricato di aggiornare una delle statistiche più importanti del gioco: dato un tabellone, devi determinare il numero di navi healthy (integre), dead (affondate) e wounded (danneggiate). Sai che:
Nessuna nave condivide un lato con un’altra. Se due celle adiacenti in griglia sono contrassegnate come parte di una nave, allora fanno parte della stessa nave.
In questa versione di gioco, le navi non devono necessariamente essere in linea retta. È una modalità avanzata riservata agli utenti premium.
Se nessuna bomba è stata lanciata su una nave, allora la nave è considerata healthy.
Se tutte le celle di una nave sono bombardate, la nave è dead.
Se solo alcune celle sono bombardate, la nave è wounded.
Il tuo compito è scrivere un programma che, data la griglia con la situazione attuale, stampi il numero di navi healthy, dead e wounded.
Input
La prima riga contiene due caratteri r e c (1 ≤ r, c ≤ 50) che indicano il numero di righe e di colonne della griglia.
Le successive r righe contengono c caratteri che rappresentano la griglia:
. indica acqua (nessuna nave)
s indica una cella di nave intatta
b indica una cella di nave bombardata
Output
Il programma deve stampare 3 numeri: il numero di navi healthy, dead e wounded.