Pagini recente » Cod sursa (job #3191392) | Cod sursa (job #2886869) | Cod sursa (job #1257240) | Cod sursa (job #735660) | Cod sursa (job #2078230)
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
using namespace std;
const int N = 302 ;
int noLin , diag [ N ] ;
vector < pair < int , int > > sol ;
int getMin ( int pos ){
static int i , valMin , posMin;
valMin = 1e7 ;
for ( i = pos ; i < noLin ; i++ ){
if ( valMin > diag[ i ] ){
valMin = diag [ i ];
posMin = i ;
}
}
return posMin ;
}
int main(){
freopen("grozavesti.in","r",stdin);
freopen("grozavesti.out","w",stdout);
scanf("%d",&noLin);
for ( int i = 0 ; i < noLin ; i++ ){
for ( int j = 0 ; j < noLin ; j++ ){
int temp ;
scanf("%d",&temp);
if ( i == j ){
diag [ i ] = temp ;
}
}
}
for ( int i = 0 ; i < noLin ; i++ ){
int pos = getMin( i + 1 );
if ( diag [ pos ] >= diag [ i ] ){
continue ;
}
sol.push_back( make_pair( i , pos ) );
// printf("C %d %d\n",i , pos );
// printf("L %d %d\n",i , pos );
swap ( diag [ i ] , diag [ pos ] );
}
printf("%d\n",sol.size() * 2 );
for ( auto it = sol.begin() ; it != sol.end () ; it++ ){
printf("C %d %d\n",it->first , it->second );
printf("L %d %d\n",it->first , it->second );
}
return 0;
}