Feladat: I.493 Korcsoport: - Nehézségi fok: -
Füzet: 2019/november, 486 - 487. oldal  PDF  |  MathML 
Témakör(ök): Feladat, Programozás, algoritmusok

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.

Négyzet alakú mezőkből álló játéktereken, például táblás játékoknál vagy szimulációs programokban (lásd mintázatképződés, I. 256. feladat) a szomszédság meghatározása lényeges.
Legyen adott egy N×N (5N100) négyzetből álló játéktábla, amelynek minden mezője vagy üres, vagy egy bábut tartalmaz. A szomszédos mezők oldalaikkal vagy sarkaikkal érintkeznek, illetve a játéktér túlsó szélén vagy átellenes sarkán vannak. Két különböző mező T távolságban (1TN/2) szomszédos, ha legföljebb T mezőn keresztül el lehet jutni az egyik mezőről a másikra. Például egy 6×6-os táblán a (2;2) mező 2 távolságú szomszédjai az ábrán szürke színezésűek.

 
 

Készítsünk programot i493 néven, amely egy játéktábla pillanatnyi állása mellett megadja K darab kiválasztott mező T távolságú szomszédságában lévő mezőkön található bábuk számának összegét.
A program a standard bemenet első sorából olvassa be N, K és T értékét, majd a következő N sorból soronként N darab egész számot: 1 vagy 0 jelöli, hogy az adott mezőn van bábu, vagy nincs. A következő K sorban a vizsgált mezők oszlop- és sor koordinátái szerepelnek. A program a standard kimenet első sorába írja a megadott K mező T távolságú szomszédságában található mezőkön lévő bábuk számának összegét.
Példa:
 
BemenetKimenet   6 2 16   1 0 0 0 0 0   0 0 1 0 1 0   0 0 0 1 0 1   1 1 0 0 1 0   1 0 0 0 1 1   1 1 1 1 1 0   5 2   1 6   
 

Beküldendő egy i493.zip tömörített állományban a program forráskódja és egy rövid leírás, ami megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.
Letölthető állomány: i493beki.zip.