Pagini recente » Cod sursa (job #1049713) | Cod sursa (job #1316342) | Cod sursa (job #3155699) | Cod sursa (job #2939379) | Cod sursa (job #330297)
Cod sursa(job #330297)
#include <cstdio>
#include <algorithm>
using namespace std;
#define file_in "grozavesti.in"
#define file_out "grozavesti.out"
#define Nmax 310
struct g
{
char c;
int ind1,ind2;
}s[2*Nmax];
int n,i,j,ok,nr,nrsol,x;
int a[Nmax][Nmax];
int v[Nmax];
int main()
{
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d", &n);
nr=0;
for (i=1;i<=n;++i)
for (j=1;j<=n;++j)
{
scanf("%d", &a[i][j]);
nr++;
v[nr]=a[i][j];
}
sort(v+1,v+nr+1);
nrsol=0;
for (x=1;x<=n;++x)
{
ok=0;
for (i=1;i<=n && !ok;++i)
for (j=1;j<=n && !ok;++j)
if (a[i][j]==v[x])
{
if (i==x && j==x) //e la locul lui
{
ok=1;
a[i][j]=0;
}
else
{
nrsol++;
s[nrsol].c='C';
s[nrsol].ind1=j;
s[nrsol].ind2=x;
nrsol++;
s[nrsol].c='L';
s[nrsol].ind1=i;
s[nrsol].ind2=x;
}
}
}
printf("%d\n", nrsol);
for (i=1;i<=nrsol;++i)
printf("%c %d %d\n", s[i].c,s[i].ind1,s[i].ind2);
fclose(stdin);
fclose(stdout);
return 0;
}