Pagini recente » Cod sursa (job #689484) | Cod sursa (job #2093817) | Cod sursa (job #1324685) | Cod sursa (job #2690245) | Cod sursa (job #116184)
Cod sursa(job #116184)
#include <cstdio>
#include <cstring>
using namespace std;
#define FIN "grozavesti.in"
#define FOUT "grozavesti.out"
#define MAX_N 305
typedef struct
{
int a1,a2;
} point;
int A[MAX_N][MAX_N];
int N, i, j;
int Np;
point S[MAX_N << 1];
int main ()
{
freopen (FIN, "r", stdin);
freopen (FOUT, "w", stdout);
scanf ("%d", &N);
for (i = 1; i <= N; ++i)
for (j = 1; j <= N; ++j)
scanf ("%d", A[i] + j);
int x = 0;
for (i = 1; i <= N - 1; ++i)
if (A[i][i] > A[i+1][i+1])
{
x = 1;
break;
}
if (!x)
{
printf ("0\n");
return 0;
}
for (x = 1; x < N; ++x)
{
int min = 100000000;
int h;
for (i = x; i <= N; ++i)
if (A[i][i] < min)
{
min = A[i][i];
h = i;
}
if (h == x) continue;
int d = A[x][x]; A[x][x] = A[h][h]; A[h][h] = d;
Np++;
S[Np].a1 = x; S[Np].a2 = h;
// printf ("L %d %d\nC %d %d\n", x, h, x, h);
}
printf ("%d\n", Np << 1);
for (i = 1; i <= Np; ++i)
printf ("L %d %d\nC %d %d\n", S[i].a1, S[i].a2, S[i].a1, S[i].a2);
return 0;
}