Pagini recente » Cod sursa (job #2177515) | Cod sursa (job #1259244) | Cod sursa (job #1883545) | Cod sursa (job #226718) | Cod sursa (job #162153)
Cod sursa(job #162153)
#include<stdio.h>
#define nmax 305
int a[nmax][nmax];
int n,ct;
typedef struct schimb{ int x,y;
char c;
};
schimb s[2*nmax];
void read()
{
int i,j;
freopen("grazavesti.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",&a[i][j]);
}
void solve()
{
int ind,i,ind2,min,j;
for(i=1;i<=n;i++)
{
ind=i;
min=a[ind][ind];
ind2=i;
for(j=ind+1;j<=n;j++)
if(a[j][j]<min)
{
min=a[j][j]; //caut el minim din submatricea cu coltul stg sus in a[ind][ind]
ind2=j;
}
if(ind2!=ind)
{
s[++ct].c='C';
s[ct].x=ind;
s[ct].y=ind2;
s[++ct].c='L';
s[ct].x=ind;
s[ct].y=ind2;
}
}
}
void print()
{
int i;
printf("%d\n",ct);
for(i=1;i<=ct;i++)
printf("%c %d %d\n",s[i].c, s[i].x, s[i]. y);
}
int main()
{
read();
solve();
print();
return 0;
}