Pagini recente » Cod sursa (job #2048632) | Cod sursa (job #299192) | Cod sursa (job #165632) | Cod sursa (job #867873) | Cod sursa (job #1307533)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin( "grozavesti.in" );
ofstream fout( "grozavesti.out" );
const int nmax = 300;
struct str1 { int lin, val; } v[ nmax + 1 ];
int p[ nmax + 1 ], k[ nmax + 1 ];
struct str2 { int x, y; } ans[ nmax + 1 ];
bool cmp( str1 a, str1 b ) {
return ( a.val < b.val );
}
int main() {
int n, x, k1, p1, k2, p2, sol;
fin >> n;
for( int i = 1; i <= n; ++ i ) {
p[ i ] = i;
for( int j = 1; j < i; ++ j ) {
fin >> x;
}
v[ i ].lin = i;
fin >> v[ i ].val;
p[ i ] = i;
k[ i ] = i;
for( int j = i + 1; j <= n; ++ j ) {
fin >> x;
}
}
sort( v + 1, v + n + 1, cmp );
sol = 0;
for( int i = 1; i <= n; ++ i ) {
if ( p[ i ] != v[ i ].lin ) {
ans[ sol ].x = i;
ans[ sol ].y = k[ v[ i ].lin ];
++ sol;
p1 = p[ i ];
k1 = i;
p2 = v[ i ].lin;
k2 = k[ p2 ];
p[ k1 ] = p2;
p[ k2 ] = p1;
k[ p1 ] = k2;
k[ p2 ] = k1;
}
}
fout << 2 * sol << "\n";
for( int i = 0; i < sol; ++ i ) {
fout << "L " << ans[ i ].x << " " << ans[ i ].y << "\n";
fout << "C " << ans[ i ].x << " " << ans[ i ].y << "\n";
}
fin.close();
fout.close();
return 0;
}