Quadrat màgic P45484


Statement
 

pdf   zip   main.cc

html

Un quadrat màgic d’ordre n és un arranjament dels enters 1 a n2 en un quadrat n× n on la suma dels números de cada fila, de cada columna i de les dues diagonals principals és la mateixa. La figura següent mostra dos exemples de quadrats màgics d’ordre 3 i 6:

                                  28  4   3   31  35  10
                4  9  2           36  18  21  24  11  1
                3  5  7           7   23  12  17  22  30
                8  1  6           8   13  26  19  16  29
                                  5   20  15  14  25  32
                                  27  33  34  6   2   9

Els quadrats màgics han estat sovint utilitzats com a talismans, per ajudar en els parts, per guarir picades d’insectes o per curar malalties. S’han trobat molts quadrats màgics gravats en plats, copes, medallons o monuments. Per exemple, podeu trobar un altre quadrat màgic a la façana oest de la Sagrada Família de Gaudí.

Dissenyeu una funció

bool quadrat_magic(const vector< vector<int> >& t);

que, donada una taula t de n× n enters, indiqui si representa un quadrat màgic o no.

Precondició

La taula t és quadrada.

Information
Author
Jordi Petit
Language
Catalan
Other languages
English
Official solutions
C++
User solutions
C++