Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

AL_05_07 - Linia brzegowa

W tym zadaniu otrzymasz kilka zeskanowanych map w postaci matrycy, o rozmiarze N na M, znaków '.' i 'X'. Każdy znak reprezentuje kwadrat o boku 1 km, który jest albo wodą '.' albo lądem 'X'.

Twoim zadaniem jest obliczenie całkowitej długości morskiej linii brzegowej wszystkich lądów i wysp przedstawionych na mapie. Morzem jest każda woda, przedstawiona na mapie, która łączy się z dowolnym brzegiem mapy. Brzeg lądu przylegający do krawędzi mapy jest traktowany jako morska linia brzegowa tego lądu. Brzegi jezior i brzegi wysp na jeziorach są pomijane i nie są doliczane do całkowitej sumy.

Wejście

Najpierw liczba map T10.
Potem opisy poszczególnych map w następującym formacie:
W pierwszej linii dwie liczby całkowite N i M (1 ≤ N,M5000) oznaczające wymiary mapy.
W kolejnych N liniach ciągi znaków 'X' lub '.', każdy o długości M

 

Wyjście

Dla każdej mapy, jedna liczba będąca całkowitą sumaryczną długością (w km) morskiej linii brzegowej wszystkich lądów i wysp na mapie. Każda suma w oddzielnej linii.

Przykład

Wejście:
2
5 6
.XXXX.
.X.XX.
XXX...
....X.
......
3 3
.X.
X.X
.X.


Wyjście:
20
12

Dodane przez:narbej
Data dodania:2013-04-03
Limit czasu wykonania programu:1s-3s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 GOSU
Pochodzenie:ALGOLIGA
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.