Cuadrados Mágicos

Escribir una función cuadrado_magico(m) tal que dada una matriz m cuadrada de dimensión n ×\times n, retorne True si la matriz m es un cuadrado mágico o False si no lo es.

Diremos que una matriz m de dimensión n ×\times n es un cuadrado mágico si sus elementos son los números 1,2,,n21,2,\dots,n^2, y todas las filas, todas las columnas y las dos diagonales suman lo mismo.

Por ejemplo, la matriz (Python) 3 ×\times 3 [[6,1,8],[7,5,3],[2,9,4]] es un cuadrado mágico, cuya suma es 1515.

Entrada

La función tiene una matriz m de dimensión n ×\times n como parámetro.

Observaciones

Considerar la posibilidad de utilizar la función solución del problema P27498 (Transposed matrix) como función auxiliar en este problema. Recordar que, en caso de que decida utilizarla, debe añadirla al archivo que envíe como solución.

Puede utilizar la función sum(lst,0) para sumar los elementos de la lista lst.

No puede utilizar el módulo numpy, ni ningún otro módulo.

Una vez definida la función, al probarla en el REPL de Python debería salir lo mismo que puede observar más abajo.

Información del problema

Autoría: Jordi Delgado (basado en el problema P99555 de Salvador Roura)

Generación: 2026-01-25T19:56:00.562Z

© Jutge.org, 2006–2026.
https://jutge.org