Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Az S. 163. feladat (2022. szeptember)

S. 163. Manapság több olyan sakkmotor (sakkozó robot) létezik, mely képes a legjobb sakknagymestereket is legyőzni. A probléma nehézségét szeretnénk illusztrálni ezzel a feladattal, melyben jelentősen könnyítünk a feltételeken.

Adott egy hagyományos sakktábla, melyen egy világos gyalog és a két király található. Az esetek nagyjából 2/3-ában világos mattot tud adni a sötét királynak, a figurák elhelyezkedésétől függően azonban a kimenetel döntetlen is lehet (sötét nem nyerhet). Készítsünk számítógépes programot, amely megadja, hogy mi lesz a játék kimenetele egy ilyen állás esetén.

Bemenet: a bemenet első és egyetlen sora egy sakkállást tartalmaz a Forsyth–Edwards jelölés (FEN) szerint. Ez egy standard sakkállások jelölésére. Figyelem! A standard azt is megadja, hogy melyik játékosnak kell lépni. Ez befolyásolhatja a kimenetet. Feltételezhetjük, hogy az 50 lépés számlálója nulláról indul, így a lépésszám miatt nem lesz döntetlen az eredmény, ha világos nyerni tud.

Kimenet: a kimenet első és egyetlen sorába a W karaktert kell írni, ha világos nyerhet, és a B karaktert, ha sötét kikényszerítheti a döntetlent (mindkét fél optimálisan játszik).

Példa:

BemenetKimenet
7k/4PK2/8/8/8/8/8/8 b - - 0 0
W

Magyarázat: ebben az állásban sötét lép, majd fehér három lépésben mattot ad.

Időkorlát: 1 mp.

Értékelés: A pontok 50%-a kapható, ha a program helyes eredményt ad olyan bemenetre, amikor a gyalog a 7. sorban van.

Segítség: játékállásokat kipróbálhatunk és tesztelhetünk például a https://www.chess.com/analysis és a https://syzygy-tables.info/ oldalakon.

Beküldendő egy s163.zip tömörített állományban a megfelelően dokumentált és kommentezett forrásprogram, amely tartalmazza a megoldás lépéseit, valamint megadja, hogy a program melyik fejlesztői környezetben futtatható. A dokumentáció tartalmazza a megoldás elméleti hátterét, az esetleg felhasznált forrásokat. Ne tartalmazzon kódrészleteket, azok magyarázata kódkommentek formájában a forrásprogramban szerepeljen.

(10 pont)

A beküldési határidő 2022. október 17-én LEJÁRT.


Statisztika:

1 dolgozat érkezett.
5 pontot kapott:1 versenyző.

A KöMaL 2022. szeptemberi informatika feladatai