Fişierul intrare/ieşire: | matperm2.in, matperm2.out | Sursă | Concursul National de Soft "Grigore Moisil" Lugoj, Clasele 11-12 |
Autor | Radu Szasz | Adăugată de | |
Timp execuţie pe test | 0.4 sec | Limită de memorie | 36864 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Matperm2
Gigel are o matrice V cu N linii si M coloane cu elemente numere naturale cu proprietatea ca V[x][y] = (x - 1) * M + y pentru fiecare 1 ≤ x ≤ N si 1 ≤ y ≤ M .
Din cauza plictiselii(nu prea se mai fac ore inainte de vacanta de vara) s-a hotarat sa se joace cu matricea. Astfel, el va face P pasi. La fiecare pas, va lua liniile si le va amesteca conform unei permutari date P1. Apoi, va lua coloane si le va amesteca conform unei alte permutari P2. Dupa aceea, din cauza ca matricea nu este destul de amestecata pentru gusturile lui Gigel, el va lua Q perechi de pozitii (x1, y1), (x2, y2) si le va face swap, in ordinea in care acestea apar in fisierul de intrare.
Bineinteles, fiind nerabdator, nu a terminat de executat cele P operatii si se bazeaza pe voi sa ii spuneti cum va arata matricea dupa ce se executa cei P pasi.
Date de intrare
Pe prima linie a fisierului de intrare matperm2.in veti gasi 3 linii, N, M si P cu semnificatia din enunt. Linia 2 contine permutarea P1, conform careia vor fi amestecate liniile, iar linia 3 va contine permutarea P2 dupa care vor fi amestecate coloanele. Urmatoarea linie contine un singur numar natural Q, iar urmatoarele Q linii vor contine cate patru numere x1, y1, x2, y2, reprezentand cate o pereche de pozitii careia i se va face swap.
Date de ieşire
Fisierul de iesire matperm2.out va contine N linii. Pe fiecare linie se vor afla M elemente numere naturale, separate printr-un spatiu, reprezentand elementele matricei.
Restrictii si precizari
- 1 ≤ N, M ≤ 1.000
- 1 ≤ P ≤ 2.000.000.000
- 0 ≤ Q ≤ 1000
- Cele Q operatii se executa la fiecare pas!
Exemplu
matperm2.in | matperm2.out |
---|---|
3 4 1 1 3 2 1 2 4 3 0 | 1 2 4 3 9 10 12 11 5 6 8 7 |
Explicaţie
Initial matricea este:
1 2 3 4
5 6 7 8
9 10 11 12
Dupa aplicarea P1 matricea devine:
1 2 3 4
9 10 11 12
5 6 7 8
Dupa aplicarea P2 matricea devine:
1 2 4 3
9 10 12 11
5 6 8 7