Quadrat llatí P91748


Statement
 

pdf   zip   main.cc

Un quadrat llatí d’ordre nn és una matriu n×nn \times n tal que a cada fila i a cada columna apareix cada un dels nombres entre 1 i nn. Per exemple, (231123312)i(1234214334124321)\left( \begin{array}{ccc} 2 & 3 & 1 \\ 1 & 2 & 3 \\ 3 & 1 & 2 \\ \end{array} \right) \qquad \mbox{i} \qquad \left( \begin{array}{cccc} 1 & 2 & 3 & 4 \\ 2 & 1 & 4 & 3 \\ 3 & 4 & 1 & 2 \\ 4 & 3 & 2 & 1 \\ \end{array} \right) són respectivament quadrats llatins d’ordres 3 i 4.

Utilitzant les declaracions

    typedef vector<int> Fila;
    typedef vector<Fila> Quadrat;

feu una funció

    bool es_llati(const Quadrat& q);

que digui si |q| és un quadrat llatí o no.

Precondició

|q| és no buit i realment quadrat. Tots els seus nombres són naturals.

Observació

Només cal enviar el procediment demanat; el programa principal serà ignorat.

Information
Author
Salvador Roura
Language
Catalan
Other languages
English
Official solutions
C++
User solutions
C++