Feladat: I.517 Korcsoport: 16-17 Nehézségi fok: átlagos
Füzet: 2020/október, 420 - 421. oldal  PDF  |  MathML 
Témakör(ök): Számítástechnika, informatika, 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.

Bűvös négyzetnek nevezzük az N×N darab szám négyzetes elrendezését, amelyben minden sor, minden oszlop és mind a két átló összege ugyanaz a szám. Az ördögkeret olyan bűvös négyzet, amelynek a legkülső keretét elhagyva is bűvös négyzetet kapunk. Lehetséges, hogy egy ördögkeretben több koncentrikus bűvös négyzet van egymásba ágyazva, ilyenkor a bűvös négyzet külső kereteit elhagyva végül egy olyan belső elrendezéshez jutunk, amely már nem bűvös négyzet.

 

 
3 mélységű ördögkeret
 

Készítsünk programot i517 néven, amely egy N×N számból álló négyzetről meghatározza, hogy milyen mélységben tartalmaz bűvös négyzeteket egymásba ágyazva. Ha ez a szám 0, akkor már a kiinduló elrendezés sem volt bűvös négyzet.
A program standard bemenetének első sorában az N (N30) található, amely a sorok és oszlopok száma. A következő N sorban N darab nemnegatív szám szerepel.
A program standard kimenetén egy szám szerepeljen, az ördögkeret egymásba ágyazott bűvös négyzeteinek mélysége. Ha a kiindulási állapot nem bűvös négyzet, akkor 0-t írjunk ki.
 
BemenetKimenet   6   1   22 41 34 27 17  5 29    1 35  6 42 11 31 49   38 10 24  4 47 40 12   37 18 48 25  2 32 13   36 43  3 46 26  7 14   20 19 44  8 39 15 30   21  9 16 23 33 45 28   
 

Beküldendő egy tömörített i517.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.