revolutie

Time limit: 0.02s
Memory limit: 16MB
Input: revolutie.in
Output: revolutie.out

În ţara Utopia a avut loc recent o revoluţie digitală, în urma căreia s-a hotărât să se întrerupă serviciile de telefonie mobilă. Din fericire, Miruna s-a infiltrat în sediul central al principalului furnizor de telefonie din Utopia. Pentru a repune în funcţiune reţeaua, Miruna trebuie să treacă de un filtru de autentificare: ea are în faţă o matrice pătratică de dimensiune N având elemente din mulţimea {0, 1}. Asupra acestei matrice se pot efectua următoarele operaţii:

  • se aleg două linii şi se interschimbă;
  • se aleg două coloane şi se interschimbă.

Pentru a trece de filtrul de autentificare Miruna trebuie să obţină pe diagonala principală (toate elementele de forma A[i][i]) valori egale cu 1.

Cerinţă

Determinaţi pentru Miruna o secvenţă de maxim 4*N operaţii astfel încât să reuşească să treacă de filtrul de autentificare.

Date de intrare

Fişierul de intrare revolutie.in va conţine pe prima linie numărul N, reprezentând dimensiunea matricei. Pe următoarele N linii se află câte N valori din mulţimea {0, 1} reprezentând valorile matricei.

Date de ieşire

Fişierul de ieşire revolutie.out va conţine pe prima linie un singur număr întreg T reprezentând numărul de operaţii efectuate. Fiecare din următoarele T linii va descrie câte o operaţie: primul caracter de pe linie va fi L dacă s-a aplicat o operaţie asupra liniilor şiC dacă s-a aplicat o operaţie asupra coloanelor. Vor urma două valori între 1 şi N reprezentând indicii liniilor/coloanelor interschimbate. În caz că nu există soluţie, se va afişa valoarea -1.

Restricţii şi precizări

  • 1 ≤ N ≤ 127
  • Liniile şi coloanele sunt numerotate de la 1 la N
  • T trebuie să aparţină intervalului [0, 4*N]
  • 30% dintre fişierele de test vor avea 1 ≤ N ≤ 10
  • În cazul în care există mai multe soluţii, se va afişa oricare dintre ele
  • Miruna se opune fenomenului de “politically correctness”

Exemplu

revolutie.in

2
0 1
1 0	

revolutie.out

1
L 1 2	

Explicaţie

Interschimbând primele două linii obţinem matricea:

1 0
0 1

Problem info

ID: 175

Editor: liviu

Author:

Source: ONI 2009 XI-XII: Ziua 1 Problema 2

Tags:

ONI 2009 XI-XII

Log in or sign up to be able to send submissions!