Feladat: I/S.23 Korcsoport: - Nehézségi fok: -
Füzet: 2018/január, 39 - 40. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat, Programozás, algoritmusok
Hivatkozás(ok):Feladatok: 2016/október: K.513

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.

Egy N×N-es ,,sakktábla'' világos színű mezőin S számú sötét gyalogot helyezünk el. Feladatunk az, hogy egy világos futó segítségével közülük minél többet leüssünk. A futó a szokásos módon mozoghat a táblán, de irányt váltani csak akkor tud, ha olyan mezőre lép, amelyen éppen leüt egy gyalogot. A futó kezdeti helye nincs rögzítve, azt mi választhatjuk meg.
Készítsünk programot, amely megadja, hogy adott állások esetén legföljebb hány gyalogot lehet a tábláról levenni.
A program standard bemenete az N és S egészek, valamint a következő S sor mindegyikében egy egész számpár. A számpárok a sötét gyalogok helyzetét adják meg: a bal felső (sötét) mezőtől indulva az egyes gyalogok sorát és oszlopát. A program standard kimenete legyen a levehető gyalogok maximális száma.

 
Példa bemenet (az újsor karaktereket  /  jelöli)   Kimenet   6 7 / 1 2 / 1 4 / 1 6 / 4 1 / 3 4 / 5 4 / 3 6 /4   

 
 

Magyarázat:4 1, 1 4, 3 6 és 5 4 mezőkön lévő gyalogok leütése pl. ebben a sorrendben lehetséges, ha a futó a 4 1 mezőről indul, de sajnos a többi gyaloghoz a futó nem tud eljutni.
Korlátok: 4N100, 4S2N.
Értékelés: a megoldás lényegét leíró dokumentáció 1 pontot ér. További 9 pont kapható arra a programra, amely a korlátoknak megfelelő bemenetekre helyes kimenetet ad 1 másodperc futásidő alatt. Részpontszám kapható arra a programra, amely csak kisebb N értékek esetén ad helyes eredményt 1 másodpercen belül.
Beküldendő egy is23.zip tömörített állományban a megoldást leíró dokumentáció és a program forráskódja.