Matrius de Monge P16242


Statement
 

pdf   zip   main.cc

thehtml

Una matriu n × m es diu que és una matriu de Monge (en honor al matemàtic francès Gaspard Monge) si, per a tots els i, j, k, ℓ tals que 0 ≤ i < k < n i 0 ≤ j < ℓ < m, es compleix

A[i][j] + A[k][ℓ] ≤ A[i][ℓ] + A[k][j].

Per exemple, aquesta matriu és de Monge:





1017132823 
1722162923 
2428223424 
11136177 




Si prenem la intersecció de les files 1 i 3 amb les columnes 0 i 4, els quatre elements són:



1723 
117 


Fixem-nos que 17 + 7 ≤ 11 + 23. Aquesta propietat es compleix a tot arreu de la matriu.

Feu una funció

bool es_Monge(const vector<vector<int>>& M);

tal que, donada una matriu M de mides n × m, amb n ≥ 2 i m ≥ 2, retorni cert si i només si M és de Monge.

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

Observació

El jutge acceptarà solucions amb cost Θ(n2 · m2), però no són eficients i això es penalitzarà a la correcció manual.

Information
Author
Maria Blesa
Language
Catalan
Official solutions
C++
User solutions
C++