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.|

PTWPZ087 - PTwPZ To-Pong

To-Pong

Treść

Gobi to półpustynna i pustynna kraina obejmująca swym zasięgiem północne Chiny i południową Mongolię. Wśród naukowców znana jest przede wszystkim z doskonale zachowanych skamieniałości dinozaurów i ssaków kopalnych. Mało kto jednak pamięta, iż rejon ten był ważną częścią jedwabnego szlaku. To właśnie tędy przewożono cenne towary z Chin przez Persję, tereny Mezopotamii do krajów basenu Morza Śródziemnego.

Docent Doświadczalski wraz z międzynarodową grupą archeologów prowadzą prace wykopaliskowe na terenie jednego z byłych miast leżących na starożytnym szlaku. Wśród licznych znalezisk jedno szczególnie intryguje docenta. Jest to planszowa gra To-Pong. Dzięki dobrze zachowanym, bogato zdobionym opisom, naukowcowi udało się odtworzyć jej zasady.

Do przeprowadzenia gry potrzebna jest plansza podzielona na przylegające do siebie kwadraty (taka jak szachownica z tym, że wszystkie pola są tego samego koloru) oraz pionki. Pierwszy z graczy, zwany mistrzem, układa pionki na planszy. Zadaniem drugiego uczestnika – ucznia jest zdjęcie jak największej liczby pionków. Zdejmowanie można rozpocząć od dowolnie wybranego pionka. Kolejny zdejmowany pionek musi być sąsiadem (z lewej, prawej, dołu lub góry) poprzedniego, itd. Gra kończy się, gdy z planszy nie da się, zgodnie z zasadami, zdjąć kolejnego pionka.

Wśród wykopalisk docent Doświadczalski znalazł wiele gotowych układów początkowych To-Pong, używanych zapewne podczas nauki gry. Ze względu na to, iż naukowiec nie ma czasu na dokładne zapoznanie się z nimi, poprosił Ciebie o zbadanie układów i znalezienie optymalnych rozwiązań. Napisz program, który wykona to zadanie.

Wejście

Dane podawane są na standardowe wejście. W pierwszym wierszu podana jest liczba N (1<=N<=20) zestawów danych. Dalej podawane są zestawy danych zgodnie z poniższym opisem:

Jeden zestaw danych

Pierwszy wiersz zestawu danych zawiera dwie liczby całkowite n i m (1<=n,m<=100) oddzielone pojedynczą spacja, oznaczające odpowiednio liczbę wierszy i kolumn planszy do gry. W kolejnych n wierszach podane jest początkowe ustawienie pionków na planszy. Każdy z tych wierszy zawiera po m znaków, przy czym . (kropka) reprezentuje pole puste, a litera o – pionek. Na planszy znajduje się co najmniej jeden i co najwyżej czterdzieści pionków.

Wyjście

Wyniki programu powinny być wypisywane na standardowe wyjście. W kolejnych wierszach należy podać odpowiedzi obliczone dla kolejnych zestawów danych. Wynikiem dla jednego zestawu jest maksymalna liczba pionków, jaką można zdjąć posługując się regułami To-Pong.

Przykład

dane wejściowe:
1
4 7
..o....
.ooo...
..o.o..
....o..

wynik:
3


Dodane przez:Michael Suchacz
Data dodania:2009-07-24
Limit czasu wykonania programu:3.297s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ERL GOSU JS-RHINO NODEJS PERL6 VB.NET
Pochodzenie:Podlaski Turniej w Programowaniu Zespołowym
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.