Pagini recente » Cod sursa (job #2277045) | Cod sursa (job #1339065) | Cod sursa (job #852613) | Cod sursa (job #379397) | Cod sursa (job #608516)
Cod sursa(job #608516)
#include <fstream>
#include <algorithm>
using namespace std;
const int N=301;
int v[N][N],ord[N],a[N],n,nr,D=-1;
char PRINT[N*N];
ifstream in("grozavesti.in");
ofstream out("grozavesti.out");
inline void sch(int &a,int &b)
{
int c=a;a=b;b=c;
}
inline bool cmp(int a,int b)
{
return v[a][a]<v[b][b];
}
void add(int x)
{
if (x<10)
{
PRINT[++D]=x+'0';
return;
}
add(x/10);
PRINT[++D]=x%10+'0';
}
int main()
{
in>>n;
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
in>>v[i][j];
ord[i]=i;
}
sort(ord+1,ord+n+1,cmp);
for (int i=1;i<=n;i++)
a[ord[i]]=i;
for (int i=1;i<=n;i++)
if (ord[i]!=i)
{
nr+=2;
sch(ord[i],ord[a[i]]);
PRINT[++D]='L';
PRINT[++D]=' ';
add(ord[i]);
PRINT[++D]=' ';
add(a[i]);
PRINT[++D]='\n';
PRINT[++D]='C';
PRINT[++D]=' ';
add(ord[i]);
PRINT[++D]=' ';
add(a[i]);
PRINT[++D]='\n';
}
out<<nr<<"\n";
out<<PRINT;
return 0;
}