Siguin i 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: i , per a tot 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
és una permutació de la matriu
.
Una matriu
és una permutació d’una matriu
si i només si
conté els mateixos elements que
i en la mateixa quantitat. Dit altrament:
és la matriu
però no necessàriament en el mateix ordre.
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.
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 i de costat, en el format mostrat als exemples.
La sortida també la produeix el programa principal
proporcionat. Es mostra la matriu resultat de cridar
permutacio en el mateix format.
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