Pagini recente » Cod sursa (job #1237669) | Cod sursa (job #2272944) | Cod sursa (job #134009) | Cod sursa (job #1649862) | Cod sursa (job #115866)
Cod sursa(job #115866)
#include<stdio.h>
int a2[602],a3[602];
int main(){
int v[301][301],n,i,j,z,min,a,b,k=0,y,val=0,ctr=1;
char a1[602],x;
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("%d",&v[i][j]);
v[0][0]=0;
for (i=1;i<=n;++i){
if (val<=v[i][i])
val=v[i][i];
else ctr=2;
}
if (ctr==1){
printf("0\n");
return 0;
}
for (z=1;z<=n;++z){
min=v[z][z];x=' ';
for (i=z;i<=n;++i)
for (j=z;j<=n;++j){
if (v[i][j]<min && v[i][j]>=v[z-1][z-1]){
min=v[i][z];
x='A';
a=i;
b=j;
}
}
if (a==z)
x='C';
if (b==z)
x='L';
if (x=='C'){
++k;
a1[k]=x;
a2[k]=z;
a3[k]=b;
for (i=z;i<=n;++i){
y=v[i][b];
v[i][b]=v[i][z];
v[i][z]=y;
}
}
else if (x=='L'){
++k;
a1[k]=x;
a2[k]=z;
a3[k]=a;
for (i=z;i<=n;++i){
y=v[a][i];
v[a][i]=v[z][i];
v[z][i]=y;
}
}
else if (x=='A'){
++k;
a1[k]='C';
a2[k]=z;
a3[k]=b;
++k;
a1[k]='L';
a2[k]=z;
a3[k]=a;
for (i=z;i<=n;++i){
y=v[a][i];
v[a][i]=v[z][i];
v[z][i]=y;
}
for (i=z;i<=n;++i){
y=v[i][b];
v[i][b]=v[i][z];
v[i][z]=y;
}
}
}
/*for (i=1;i<=n;++i){
for (j=1;j<=n;++j)
printf("%d ",v[i][j]);
printf("\n");
}*/
printf("%d\n",k);
for (i=1;i<=k;++i)
printf("%c %d %d\n",a1[i],a2[i],a3[i]);
return 0;
}