opmat


Timp maxim de execuţie/test:
0.1 secunde
Memorie totala disponibilă/stivă:
16 MB/1 MB

Fie N si M doua numere naturale si o matrice A cu N linii (numerotate de la 1 la N) si M coloane (numerotate de la 1 la M) în care elementul de pe linia i si coloana j este A[i][j]=(i-1)*M+j. Asupra acestei matrice au fost efectuate o serie de operatii de interschimbari de linii si/sau coloane.

Cerinţă

Scrieti un program care sa restaureze matricea initiala, efectuând cel mult 1000 de operatii de interschimbare a doua linii sau interschimbare a doua coloane.

Date de intrare

Fisierul de intrare opmat.in contine pe prima linie numerele naturale N si M. Pe fiecare dintre urmatoarele N linii se afla câte M numere naturale, reprezentând elementele matricei. Elementele de pe aceeasi linie sunt separate prin spatii.

Date de ieşire

Fisierul de iesire opmat.out va contine pe prima linie un numar natural K reprezentând numarul de operatii ce urmeaza sa fie executate. Pe urmatoarele K linii vor fi scrise operatiile, câte o operatie pe o linie. Linia care descrie o operatie are urmatorul format:
X Y Z
Unde
X este un caracter care poate fi L pentru interschimbare de linii sau C pentru interschimbare de coloane. Y si Z sunt indicii celor doua linii, respectiv celor doua coloane care se interschimba. X Y si Z vor si separate prin câte un spatiu.

Restricţii

  • 1<= N, M <= 250
  • Pentru datele de test se garanteaza existenta solutiei.

Exemple

opmat.in opmat.out
4 5
10 7 9 8 6
15 12 14 13 11
20 17 19 18 16
5 2 4 3 1
5
L 1 4
C 1 5
C 3 4
L 2 4
L 3 4

prof. Marinel Serban
Liceul de Informatica "Grigore Moisil" Iasi
marinel_serban@yahoo.com