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. A koronglövés nevű játékot egy ember játssza egy csúcsú egyszerű gráfon (). A játék a következőképp néz ki: a gráf minden csúcsán van néhány korong. Egy lépésben a játékos fog egy tetszőleges csúcsot, és ha azon legalább annyi korong van, mint a csúcs szomszédainak száma (azon csúcsok, melyekkel éllel van összekötve), akkor minden szomszédnak ad egy-egy korongot. Akkor nyer a játékos, ha már nem tud ilyen lépést végrehajtani. Adjuk meg, hogy tud-e nyerni egy bizonyos alapállásból a játékos. Segítség: ha tud nyerni a játékos, akkor bármilyen sorrendben választhatja a csúcsokat, amikkel lép, előbb-utóbb véget ér a játék. Ezt használjuk fel. Továbbá könnyítésképpen, ha ezzel a módszerrel 1000 lépés alatt nem fejeződik be a játék, akkor írjuk ki azt, hogy NEM tud nyerni. A program a standard bemenet első sorából olvassa be az és (élek száma) számokat. A következő sorban a gráf egyes csúcsain lévő korongok számát, majd a következő sorból a gráf leírását: minden sorban egy és egy szám szerepel, ami azt jelenti, hogy az csúcs szomszédja , és a csúcs szomszédja . A program írja ki a standard output első sorába a NEM szót, amennyiben a segítségben leírt módszerrel 1000 lépés alatt nem fejeződik be a játék. Ha befejeződik, akkor az IGEN szót, és az alatta lévő sorban pedig a végállapotban az egyes csúcsokon lévő számokat a bemenet sorrendjében.
Beküldendő egy tömörített i361.zip állományban a program forráskódja (i361.pas, i361.cpp, ) az .exe és más, a fordító által generált állományok nélkül, valamint a program rövid dokumentációja (i361.txt, i361.pdf, ), amely a fentieken túl megadja, hogy a forrás mely fejlesztői környezetben fordítható. |