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