Pagini recente » Cod sursa (job #2339670) | Cod sursa (job #2035068) | Cod sursa (job #63217) | Cod sursa (job #1675743) | Cod sursa (job #553380)
Cod sursa(job #553380)
#include <stdio.h>
#include <algorithm>
#define N 305
using namespace std;
typedef struct {int x,y; char c;} REZULTAT;
int n,A[N][N],z;
int nrc,l,c,mi,i,j;
REZULTAT REZ[10*N];
FILE *f,*g;
void citire()
{
int i,j;
fscanf(f,"%d",&n);
for (i=1;i<=n;++i)
for (j=1;j<=n;++j)
fscanf(f,"%d",&A[i][j]);
}
int main()
{
f=fopen("grozavesti.in","r");
g=fopen("grozavesti.out","w");
citire();
nrc=0;
for (z=1;z<=n;++z)
{
l=c=z;
mi=A[l][c];
for (i=z;i<=n;++i)
for (j=z;j<=n;++j)
if (A[i][j]<mi)
{
mi=A[i][j];
l=i;
c=j;
}
if (l!=z)
{
nrc++;
REZ[nrc].c='L';
REZ[nrc].x=l+'0';
REZ[nrc].y=z+'0';
}
if (c!=z)
{
nrc++;
REZ[nrc].c='C';
REZ[nrc].x=c+'0';
REZ[nrc].y=z+'0';
}
swap(A[z][z],A[l][c]);
}
fprintf(g,"%d\n",nrc);
for (z=1;z<=nrc;++z)
fprintf(g,"%c %d %d\n",REZ[z].c,REZ[z].x-'0',REZ[z].y-'0');
fclose(f);
fclose(g);
return 0;
}