Pagini recente » Cod sursa (job #3159486) | Cod sursa (job #1837501) | Cod sursa (job #43521) | Cod sursa (job #1979553) | Cod sursa (job #115384)
Cod sursa(job #115384)
#include<stdio.h>
#include<values.h>
int ok,j,n,ii,jj,lin,col,i1[601],i2[601];
long i,nr,x,mm,min,a[301][301];
char vc[601];
int main()
{
freopen("grozavesti.in","r",stdin);
freopen("grozavesti.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
scanf("%ld",&a[i][j]);
ok=1;
min=MAXLONG;
mm=0;
ii=0;
jj=0;
while(ok)
{
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
if(a[i][j]<=min&&a[i][j]>=mm&&i>ii&&j>jj)
{
min=a[i][j];
col=j;
lin=i;
}
for(i=1;i<=n;++i)
{
x=a[lin][i];
a[lin][i]=a[ii+1][i];
a[ii+1][i]=x;
}
for(i=1;i<=n;++i)
{
x=a[i][col];
a[i][col]=a[i][jj+1];
a[i][jj+1]=x;
}
if(lin!=ii+1||col!=jj+1)
{
if(lin==ii+1)
{
vc[++nr]='C';
i1[nr]=col;
i2[nr]=jj+1;
}
else
if(col==jj+1)
{
vc[++nr]='L';
i1[nr]=lin;
i2[nr]=ii+1;
}
else
{
vc[++nr]='C';
i1[nr]=col;
i2[nr]=jj+1;
vc[++nr]='L';
i1[nr]=lin;
i2[nr]=ii+1;
}
}
ok=0;
for(i=1;i<n;++i)
if (a[i][i]>a[i+1][i+1]) { ok=1; break;}
mm=min;
min=MAXLONG;
ii=ii+1;
jj+=1;
}
printf("%ld\n",nr);
for(i=1;i<=nr;++i)
printf("%c %d %d\n",vc[i],i1[i],i2[i]);
return 0;
}