Pagini recente » Cod sursa (job #799613) | Cod sursa (job #319146) | Cod sursa (job #2128470) | Cod sursa (job #1009576) | Cod sursa (job #121124)
Cod sursa(job #121124)
#include<stdio.h>
#define XMAX 301
long a,x[XMAX][XMAX],n,lin,col,i,j,k,l,min,rez,nr;
struct kkt
{
long c,x1,x2;
};
kkt sol[2*XMAX];
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",&x[i][j]);
min=10000000;
nr=-1;
for (i=1;i<=n;i++)
{
min=10000000;
for (j=i;j<=n;j++)
for (l=i;l<=n;l++)
if (x[j][l]<=min&&x[j][l]>=nr)
{
min=x[j][l];
lin=j;
col=l;
}
nr=x[lin][col];
if (!(lin==col&&lin==i))
{
if (col!=i)
{
for (l=i;l<=n;l++)
{
a=x[j][l];
x[j][l]=x[j][col];
x[j][col]=a;
}
rez++;
sol[rez].c=1;
sol[rez].x1=i;
sol[rez].x2=col;
}
if (lin!=i)
{
for (l=i;l<=n;l++)
{
a=x[l][j];
x[l][j]=x[lin][j];
x[lin][j]=a;
}
rez++;
sol[rez].c=2;
sol[rez].x1=i;
sol[rez].x2=lin;
}
}
}
printf("%ld\n",rez);
for (i=1;i<=rez;i++)
if (sol[i].c==1)
printf("C %ld %ld\n",sol[i].x1,sol[i].x2);
else
printf("L %ld %ld\n",sol[i].x1,sol[i].x2);
return 0;
}