Pagini recente » Cod sursa (job #194925) | Cod sursa (job #1133708) | Cod sursa (job #943766) | Cod sursa (job #741168) | Cod sursa (job #309030)
Cod sursa(job #309030)
#include<stdio.h>
#define dim 301
using namespace std;
int diag[dim],poz[dim],mutare[dim],mutare1[dim],man;
char ok;
int main()
{int n,a,m=0,min,j,k=0,i,p,aux;
FILE *f=fopen("grozavesti.in","r"), *g=fopen("grozavesti.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{fscanf(f,"%d",&a);
if(i==1&&j==1) man=a;
if(a!=man) ok=1;
if(i==j) {m++; diag[m]=a; poz[m]=i;}
}
if(ok==0)
{fprintf(g,"0\n");
fclose(f);
fclose(g);
return 0;}
j=1;
while(j<=m)
{min=1000001;
for(i=j;i<=m;i++)
if(diag[i]<min)
{min=diag[i]; p=i;}
if(p!=j)
{k++;
aux=min;
diag[p]=diag[j];
diag[j]=aux;
aux=poz[p];
poz[p]=poz[j];
poz[j]=aux;
mutare[k]=j;
mutare1[k]=p;}
j++;}
fprintf(g,"%d\n",k*2);
for(i=1;i<=k;i++)
{fprintf(g,"C "); fprintf(g,"%d %d\n",mutare[i],mutare1[i]);
fprintf(g,"L "); fprintf(g,"%d %d\n",mutare[i],mutare1[i]);}
fclose(f);
fclose(g);
return 0;
}