Pagini recente » Cod sursa (job #3263) | Cod sursa (job #2907566) | Cod sursa (job #2137992) | Cod sursa (job #2237972) | Cod sursa (job #2890136)
#include<stdio.h>
#define NMAX 300
int main()
{
struct ch
{
int t,e1,e2;
};
ch v[NMAX*NMAX+1];
freopen("grozavesti.in","r",stdin);
freopen("grozavesti.out","w",stdout);
int a[NMAX+1][NMAX+1],n,m=0,i,j,k,min,l,c,t;
scanf("%d",&n);
for(i=1; i<=n; ++i)
for(j=1; j<=n; ++j)scanf("%d",&a[i][j]);
for(k=1; k<n; ++k)
{
min=a[k][k];
l=c=k;
for(i=k; i<=n; ++i)
for(j=k; j<=n; ++j)
if(min>a[i][j]) min=a[i][j],l=i,c=j;
if(l!=k)
{
v[m].t=0;
v[m].e1=k;
v[m].e2=l;
m++;
for(j=k; j<=n; ++j) t=a[k][j],a[k][j]=a[l][j],a[l][j]=t;
}
if(c!=k)
{
v[m].t=1;
v[m].e1=k;
v[m].e2=c;
m++;
for(i=k; i<=n; ++i) t=a[i][k],a[i][k]=a[i][c],a[i][c]=t;
}
}
printf("%d\n",m);
for(i=0; i<m; ++i)
{
if(v[i].t) printf("C ");
else printf("L ");
printf("%d %d\n",v[i].e1,v[i].e2);
}
return 0;
}