Quadrat Màgic Reloaded


Enviar solució

Punts: 6 (parcial)
Temps Límit: 1.0s
Límit de memòria: 64M

Autor/a:
tipus del problema
Matrius
Categoria
Aprenentatge
Llenguatges permesos
Bash, C Hashtag, C++, Haskell, Java, Kotlin, PHP, Python

aireacondicionat Un quadrat màgic és una matriu quadrada en un número imparell de files i columnes, on les files i columnes (i fins i tot les seues diagonals principal i secundària) sumen el mateix valor. Un quadrat màgic està format per nombres del 1 al n^2 no repetits. En el cas concret dels quadrats de 3x3, els més famosos, són quadrats formats per nombres del 1 al 9 sense repetir, a on totes les files, columnes i diagonals sumen 15.

Però, com són els quadrats màgics de dimensions diferents a 3?. Una tècnica que s'utilitza per a generar quadrats màgics és la següent: es comença fixant un valor d'1 en l'element central de la primera fila. A continuació, es van escrivint els successius valors (2, 3, etc...), desplaçant-se des de la posició anterior una fila cap a dalt i una columna cap a l'esquerra. Estos desplaçaments es realitzen tractant la matriu com si fos una mena d'esfera i estigués envoltada sobre sí mateixa, de forma que moure's una posició cap a dalt des de la fila superior duu a la inferior i moure's una posició a l'esquerra des de la primera columna conduix a l'última. Si la nova posició està ja ocupada, en lloc de desplaçar-se una fila cap a dalt i una columna cap a l'esquerra, es mourà simplement una fila cap avall i continuarà el procés.

Entrada

La primera línia indica els casos de prova a considerar. Cada cas de prova és un sol nombre imparell major que 0 que indicarà la dimensió del quadrat màgic a representar.

Sortida

Per cada cas s’ha de mostrar el quadrat màgic de la dimensió indicada, seguint la tècnica explicada, i separant cada casella del quadrat en un espai en blanc

Exemple d'Entrada

2
3
5

Exemple de Sortida

6 1 8 
7 5 3 
2 9 4 

15 8 1 24 17
16 14 7 5 23
22 20 13 6 4
3 21 19 12 10
9 2 25 18 11

Comentaris

En aquests moments no hi ha comentaris.