Pagini recente » Cod sursa (job #1677051) | Cod sursa (job #1814292) | Cod sursa (job #729197) | Cod sursa (job #556179) | Cod sursa (job #1868119)
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <queue>
#include <vector>
#include <cmath>
#define MaxN 305
#define INF 2140000000
using namespace std;
FILE *IN,*OUT;
int junk,N,v[MaxN],minpos=0,dim=0;
pair<int,int> moves[MaxN];
void GetMin(int start,int end)
{
int Min=INF;minpos=-1;
for(int i=start;i<=end;i++)
{
if(v[i]<Min)
{
Min=v[i];
minpos=i;
}
}
}
int main()
{
IN=fopen("grozavesti.in","r");
OUT=fopen("grozavesti.out","w");
fscanf(IN,"%d",&N);
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
{
fscanf(IN,"%d",&junk);
if(i==j)v[i]=junk;
}
for(int i=1;i<=N;i++)
{
GetMin(i,N);
if(minpos!=i)
{
swap(v[minpos],v[i]);
moves[++dim].first=minpos,moves[dim].second=i;
}
}
fprintf(OUT,"%d\n",2*dim);
for(int i=1;i<=dim;i++)
{
fprintf(OUT,"L %d %d\nC %d %d\n",moves[i].first,moves[i].second,moves[i].first,moves[i].second);
}
return 0;
}