Feladat: S.16 Korcsoport: - Nehézségi fok: -
Füzet: 2006/március, 167. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Írjunk programot, amely a térbeli malom játékban egy tetszőleges állásban lépést javasol. A játékot két játékos játszhatja. A játéktér 4×4 függőleges pálcából áll, a két játékos ezekre tesz rá felváltva egy-egy bábut (átfúrt golyót); a kezdő világosat, a második sötétet. Mindegyik pálcára négy-négy golyó fér, ez összesen tehát 43=64 hely. Az a játékos nyer, akinek előbb sikerül elérni, hogy valamelyik négy bábuja egy vonalban helyezkedjen el. Ha mind a 64 golyót elhelyezték és senki sem nyert, az eredmény döntetlen.

 
 

A pálcákat jelöljük a sakktáblához hasonlóan a1, ..., d4-gyel.
A program a standard bemenetről olvassa be az állást. Minden sor négy-négy pálca tartalmát fogja jelenteni. A gép bábuit O-betű, az ellenfél bábuit X, az üres helyeket - karakter jelenti. Az első sorban az a1,a2,a3,a4 pálcák, a másodikban a b1, ..., b4 pálcák stb. tartalma fog állni.
A program a standard kimenetre írja ki a javasolt lépést (a pálca jelét).
A megoldásokat 2GHz-es gépen fogjuk tesztelni, a lépést 10 másodpercen belül ki kell írni. A működő programok között körmérkőzést rendezünk, a győztes (megfelelő dokumentáció esetén) 10 pontot kap, a második helyezett 8-at, a többi megoldás legfeljebb 7-et kaphat.
Példa:
 
 

Beküldendő a program forráskódja (s16.pas, s16.cpp, ...) és dokumentációja.