Matriu Permutació X97504


Statement
 

pdf   zip   tar   main.cc

thehtml

Siguin A i B dues matrius d’enters amb les mateixes dimensions tals que els qualsevol valor de totes dues matrius és entre 0 i 99 (inclosos). Dit altrament: 0 ≤ A[i][j] ≤ 99 i 0 ≤ B[i][j] ≤ 99, per a tot i,j dins de les mides de les matrius.

Implementa una funció permutacio amb la declaració següent:

typedef vector<vector<int>> Matrix;

/* 
 * A i B són dues matrius de les mateixes dimensions.
 * A i B són matrius d'enters i els valors que hi ha
 * a totes dues matrius és entre 0 i 99 (tots dos inclosos).
 * Torna true si i només si la matriu B és una 
 * permutació de la matriu A.
 */
bool permutacio(const Matrix& A, const Matrix& B)

Per exemple,

    A        B     
1 3 4 2   8 8 4 1
5 9 7 3   2 4 3 1
1 8 8 4   3 7 9 5  

torna true perquè la matriu B és una permutació de la matriu B. Una matriu B és una permutació d’una matriu A si i només si B conté els mateixos elements que B i en la mateixa quantitat. Dit altrament: B és la matriu A però no necessàriament en el mateix ordre.

Observació

Només has d’enviar un fitxer que contingui la funció requerida, amb els include necessaris i les funcions auxiliars que hauràs declarat (si n’hi ha), i res més.

El centre d’interès d’aquest problema és la correctesa. Els jocs de prova comproven que la majoria de casos possibles produeixin la sortida correcta.

Entrada

L’entrada ja la fa el programa principal proporcionat. Consisteix en un seguit de casos amb dos enters per files i columnes i les matrius A i B de costat, en el format mostrat als exemples.

Sortida

La sortida també la produeix el programa principal proporcionat. Es mostra la matriu resultat de cridar permutacio en el mateix format.

Public test cases
  • Input

    3 4
    1 3 4 2   8 8 4 1
    5 9 7 3   2 4 3 1
    1 8 8 4   3 7 9 5
    
    2 2
    7 8   7 8
    4 5   4 8
    

    Output

    SI
    NO
    
  • Information
    Author
    PRO1
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++