☰ menu
Pavel Satrapa

Příklad číslo 1

Napište program, který vybere nejvhodnější pokračující tah z dané pozice v šachu. Pro zjednodušení budeme uvažovat jen tři druhy figur: král (K), věž (V) a pěšec (P). Pozici zkoumáme z pohledu bílého.

Vstup:

Vstupem je zadání zkoumané pozice. Každé figuře v něm odpovídá jeden řádek, obsahující čtyři znaky za sebou bez mezer. Jejich význam je:

<barva> <figura> <sloupec> <řádek>

Např. řádek se znaky BVA1 označuje bílou věž, stojící na poli A1 (sloupec A, řádek 1). Zadání končí ukončením vstupního souboru.

Výstup:

Tah vedoucí do pozice s největší hodnotou ohodnocovací funkce K. Např. má-li nejvyšší K pozice, vzniklá po tahu věží z pole A1 na pole A7, program vydá výsledek A1-A7. Existuje-li více tahů, vedoucích do stejně hodnocených pozic, může být výstupem libovolný z nich.

Ohodnocovací funkce je definována následovně:

K = 1000 * ( HB - HC ) + Hpos

kde HB je součet hodnot všech figur bílého a HC součet hodnot všech figur černého. Hodnoty jednotlivých figur jsou následující:

figura   hodnota
král 100
věž 5
pěšec 1

Hpos vznikne, sečteme-li pro všechny bílé pěšce a věže součiny jejich hodnoty a řádku, na kterém se nacházejí.