ΜΑΓΙΚΑ ΤΕΤΡΑΓΩΝΑ ΠΕΡΙΤΤΗΣ ΤΑΞΗΣ

Τα μαγικά τετράγωνα είναι διδιάστατοι πίνακες (NxN) που περιέχουν τους αριθμούς 1,2,3,…...,Ν2 σαν στοιχεία τους, τοποθετημένους κατά τέτοιον τρόπο ώστε το άθροισμα οποιαδήποτε στήλης, γραμμής ή διαγωνίου να είναι σταθερό και ίσο προς Ν(1+ Ν2)/2.

Μερικά παραδείγματα φαίνονται στα παρακάτω σχήματα.
 
    
8
1
6
3
5
7
4
9
2
  
 
 
17
24
1
8
15
23
5
7
14
16
4
6
13
20
22
10
12
19
21
3
11
18
25
2
9
 

 
Ο αλγόριθμος κατασκευής των μαγικών τεραγώνων περιττής τάξης
του de la Loubere (17ος αιών) έχει ως εξής:
Πρώτα τοποθετούμε τον αριθμό 1 στο μεσαίο τετραγωνάκι της πρώτης (πάνω) γραμμής.

Oι επόμενοι αριθμοί τοποθετούνται με την φυσική τους σειρά ο ένας μετά τον άλλον διαγωνίως προς τα πάνω και δεξιά με τις εξής διαφοροποιήσεις:

  1. Οταν ξεπεράσουμε την πρώτη γραμμή (και βγαίνουμε έξω από το τετράγωνο προς τα πάνω) ο αριθμός τοποθετείται στην τελευταία γραμμή του τετραγώνου (σαν αυτή να ήταν ακριβώς πάνω από την πρώτη).
  2. Ομοίως, όταν ξεπεράσουμε και την πιο δεξιά στήλη (και βγαίνουμε έξω από το τετράγωνο προς τα δεξιά) ο αριθμός τοποθετείται στην πρώτη στήλη (αριστερή).
  3. Οταν φθάσουμε σε τεραγωνάκι που είναι ήδη γεμάτο, ο αριθμός τοποθετείται στο τεραγωνάκι ακριβώς κάτω από τον τελευταίο τοποθετημένο αριθμό.
Κατασκευάστε ένα πρόγραμμα (Fortran) που θα κατασκευάζει
περιττής τάξης μαγικά τετράγωνα (ΝxN) με  Ν < 30.
 
 

Sample Solution