Gra parzystości - zadanie programistyczne z AATG '08


Należy zaimplementować algorytm grający w grę parzystości. W rozważaniach teoretycznych grach parzystości jest grą nieskończoną (Ewa wygrywa, jeśli największa ranga występująca nieskończenie często jest parzysta); wiadomo jednak, że jest to gra pozycyjnie zdeterminowana --- możemy więc przyjąć, że jeśli gracz drugi raz znajdzie się w tej samej pozycji, to zachowa się tak samo, jak za pierwszym razem. Zatem gra skończona się kończy, kiedy dojdziemy do pozycji, w której już raz byliśmy, a zwycięzcą jest Ewa wtedy i tylko wtedy, gdy w cyklu pomiędzy pierwszym przyjściem a powrotem największa ranga jest parzysta.
Poza programem grającym można również wysłać kilka (max. 10) przykładowych aren, najlepiej takich, na których nasz program działa dobrze, ale spodziewamy się, że inne będą działać źle.
Dokładną treść zadania (specyfikacja formatu areny i protokołu do komunikacji programów grających z arbitrem) wraz z przykładowymi programami można znaleźć tu.
Komentarze, pytania i rozwiązania należy wysyłać na adres: erykk_at_mimuw_dot_edu_dot_pl.
Termin nadsyłania rozwiązań: 19 maja 2008 (ustalony na zgodny z terminem podanym w e-mailu)

Nagrody:
Zajęcie w punktacji łącznej miejsca n, gdzie n<7, jest równoważne zdobyciu 7-n punktów z zadań zaliczeniowych (zdobywcy pierwszych dwóch miejsc mogą liczyć na zwolnienie z egzaminu z oceną bardzo dobrą). W przypadku remisu punkty są dzielone po równo. Ocena może zostać obniżona, jeżeli program jest słabo opisany. Uwaga: w punktacji łącznej są uwzględniane 4 programy z poprzedniej edycji konkursu, zatem jeśli np. będzie tylko jedno zgłoszenie, które przegra ze wszystkimi czterema, to dostanie ono tylko 2 punkty (za miejsce 5).

Powyższa punktacja to minimum; być może zostanie podwyższona, jeśli poziom zgłoszeń będzie wysoki; mogą też pojawić się bonusy np. za interesujące algorytmy albo za programy dobrze działające dla pewnej klasy aren (np. dla małych aren).