Pagini recente » Cod sursa (job #4254) | Cod sursa (job #2227046) | Cod sursa (job #1252692) | Cod sursa (job #1124851) | Cod sursa (job #116085)
Cod sursa(job #116085)
#include <stdio.h>
#include <math.h>
long i, n, j, k, max, lin, col, nr=0,m, a[400][400];
struct mutare{char ce;long st,dr;};
mutare v[800];
int main() {
freopen("grozavesti.in", "r", stdin);
freopen("grozavesti.out", "w", stdout);
scanf("%ld", &n);
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
scanf("%ld", &a[i][j]);
}
}
// Partea I:
for (i = n; i >= 2; --i) {
max = 0;
for (j = 1; j <= i; ++j) {
for (k = 1; k <= i; ++k) {
if (max <= a[j][k]) {
max = a[j][k];
lin = j;
col = k;
}
}
}
if (lin != i ) {
//printf("L %ld %ld\n", lin, i);
v[++nr].ce = 'L';
v[nr].st = lin;
v[nr].dr = i;
for (j = 1; j <= i; ++j) {
m = a[lin][j];
a[lin][j] = a[i][j];
a[i][j] = m;
}
if( col != i){
//printf("C %ld %ld\n", col, i);
v[++nr].ce = 'C';
v[nr].st = lin;
v[nr].dr = i;
for (j = 1; j <= i; ++j) {
m = a[j][col];
a[j][col] = a[j][i];
a[j][i] = m;
}
}
}
}
//printf("\n");
/*for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
printf("%ld ", a[i][j]);
}
printf("\n");
}*/
// Partea II:
/*
for (i = n; i >= 2; --i) {
max = 0;
for (j = 1; j <= i; ++j) {
if (max <= a[j][i]) {
max = a[j][i];
lin = j;
col = i;
}
}
for (j = 1; j <= i; ++j) {
if (max <= a[i][j]) {
max = a[i][j];
lin = i;
col = j;
}
}
if (lin == i && col != i) {
printf("C %ld %ld\n", col, i);
for (j = 1; j <= n; ++j) {
m = a[j][col];
a[j][col] = a[j][i];
a[j][i] = m;
}
}
if (lin != i && col == i) {
printf("L %ld %ld\n", lin, i);
for (j = 1; j <= n; ++j) {
m = a[lin][j];
a[lin][j] = a[i][j];
a[i][j] = m;
}
}
}
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
printf("%ld ", a[i][j]);
}
printf("\n");
}*/
printf("%ld\n",nr);
for( i = 1; i <= nr; i++)
{
printf("%c %ld %ld\n",v[i].ce,v[i].st,v[i].dr);
}
return 0;
}