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

ATARI - Atari GO

Atari GO

Atari-go to uproszczona wersja go, starochińskiej gry strategicznej. Jedynym celem gry atari-go jest łapanie kamieni przeciwnika i uniemożliwianie mu łapania własnych. Grę prowadzi się do pierwszego zbitego kamienia lub do pewnej określonej ich liczby.
Grę toczy się na planszy 9x9, a zasady (PDF) stawiania kamieni i ich zbijania są takie same, jak w grze go (więcej o grze go na go.art.pl).


Zadanie.
Napisz program rozstrzygający na podstawie wczytanej sytuacji na planszy, który z graczy ma strategię wygrywającą.


Wejście:
W pierwszej linii znajduje się liczba zestawów testowych d (0 < d <= 100)
Każdy zestaw składa się z 9 wierszy, po 9 znaków w każdym wierszu i przedstawia planszę 9×9 z obecną sytuacją na niej.
Zestaw zapisany jest za pomocą trzech znaków:
- znak "." (kropki) to puste skrzyżowanie linii na planszy,
- znak "x" oznacza, że na przecięciu linii znajduje się kamień czarny,
- znak "o" oznacza, że na przecięciu linii znajduje się kamień biały,

Wyjście
Na wyjściu należy wypisać d linii. W każdej linii albo literę C, jeśli strategię wygrywającą ma gracz grający czarnymi kamieniami, albo literę B, jeśli strategię wygrywającą posiada gracz grający białymi kamieniami.

//-----------------------------------------------------------------

Testy są tak ułożone, ze każdy zestaw jednoznacznie określa strategię wygrywającą dla jednego z graczy (białego lub czarnego). Ruch następny dla wczytanego zestawu wykonuje gracz grający czarnymi kamieniami. W grze wygrywa gracz, który jako pierwszy zbije co najmniej jeden kamień przeciwnika.

test 1 - Proste przypadki, w których jeden z graczy wygrywa już po pierwszym ruchu. (atari na białe kamienie, podwójne atari, atari na czarne kamienie, z którego nie ma możliwości ucieczki)

test 2 - Problemy na drugiej linii (potrzeba dwóch lub trzech ruchów do wygranej)

test 3 - Problemy w rogu i na brzegu planszy (potrzeba dwóch ruchów do wygranej)

test 4 - Podwójne atari. Jeden z graczy ma możliwość zagrania podwójego atari.

test 5 - Drabinka.

test 6 - Różne techniki łapania pionów (do czterech ruchów np. geta).

test 7, 8 - Różnego rodzaju tesuji i łapanie pionów za pomocą brzegu.

test 9,10 - trudne przypadki, w których ważna jest kolejność stawianych ruchów.

//-----------------------------------------------------------------

Przykład

Wejście:

2
.........
.........
.........
.........
.........
.....x...
....xo...
...oox...
.........
.........
.........
.........
.........
.........
.....x...
...oxo...
..oxoo...
.........


Wyjście:
C
B


Dodane przez:Mariusz Śliwiński
Data dodania:2012-07-11
Limit czasu wykonania programu:1s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM32-GCC ASM64 MAWK BC C-CLANG NCSHARP CPP14 CPP14-CLANG COBOL COFFEE D-CLANG D-DMD DART ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG PYPY PYPY3 PY_NBC R RACKET RUST CHICKEN SQLITE SWIFT UNLAMBDA VB.NET
Pochodzenie:Własne

ukryj komentarze
2012-11-09 14:18:48 Mariusz ¦liwiñski
Jigo (remis) nie występuje.
Nie ma pustej planszy jako wejście.

Więcej informacji na temat testów dodam jeszcze dzisiaj. Pozostało mi wybrać i opisać jeszcze pięć pozostałych testów, które będą w zakładce materiały.

Sytuacje w dwóch ostatnich testach są zawiłe i bardzo trudne do zaimplementowania.
Proponuję zapoznać się z grupą wybranych testów i próbować zaliczać je pojedynczo.
2012-11-09 09:53:31 Przemek Komosa
Czy należy założyć, że nie ma możliwości remisu (tzn plansze wejściowe nie będą zbyt zapchane)?
Rozumiem, że zasada terytorium nie aplikuje się do Atari Go?

PS. Jeśli na oba powyższe pytania odpowiedź będzie pozytywna, to wychodzi na to, że pusta plansza to SW czarnych :D
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.