Pagini recente » Cod sursa (job #660747) | Cod sursa (job #2655114) | Cod sursa (job #1113112) | Cod sursa (job #619714) | Cod sursa (job #124724)
Cod sursa(job #124724)
#include <cstdio>
const int maxn = 301;
FILE *in = fopen("grozavesti.in","r"), *out = fopen("grozavesti.out","w");
int n;
int a[maxn][maxn];
int m[2*maxn][2];
int w[2*maxn];
void read()
{
fscanf(in, "%d", &n);
for ( int i = 1; i <= n; ++i )
for ( int j = 1; j <= n; ++j )
fscanf(in, "%d", &a[i][j]);
}
int main()
{
read();
int cnt = 0;
for ( int x = 1; x <= n; ++x )
{
int min = a[x][x];
int px = x, py = x;
for ( int i = x; i <= n; ++i )
for ( int j = x; j <= n; ++j )
if ( a[i][j] < min )
min = a[i][j], px = i, py = j;
if ( px != x || py != x )
{
if ( x != py )
{
++cnt;
w[cnt] = 1; // c
m[cnt][0] = py;
m[cnt][1] = x;
}
if ( x != px )
{
++cnt;
w[cnt] = 2; // l
m[cnt][0] = px;
m[cnt][1] = x;
}
for ( int i = 1; i <= n; ++i )
{
int t = a[x][i];
a[x][i] = a[px][i];
a[px][i] = t;
t = a[i][x];
a[i][x] = a[i][py];
a[i][py] = t;
}
}
}
fprintf(out, "%d\n", cnt);
for ( int i = 1; i <= cnt; ++i )
{
if ( w[i] == 1 )
fprintf(out, "C ");
else
fprintf(out, "L ");
fprintf(out, "%d %d\n", m[i][0], m[i][1]);
}
return 0;
}