Cod sursa(job #256227)

Utilizator n3msizN3msiz n3msiz Data 11 februarie 2009 13:07:56
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
# include <stdio.h>
#define DIM 302

int n,i,j,x,poz,a[DIM][DIM],min,aux;
char op[2*DIM];
int v[2*DIM],w[2*DIM];

int main() {

  FILE *f = fopen("grozavesti.in","r");
  FILE *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[i][j]);

  for (i=1;i<n;i++) {
    min=a[i][i];
    poz=i;
    for (j=i+1;j<=n;j++)
      if (a[j][j]<min) {
	min=a[j][j];
	poz=j;
      }
    if (i!=poz) {
      aux=a[i][i];
      a[i][i]=a[poz][poz];
      a[poz][poz]=aux;
      x+=2;
//      fprintf(g,"C %d %d\n",i,poz);
//      fprintf(g,"L %d %d\n",i,poz);
      op[x-1] = 'L';
      v[x-1] = i;
      w[x-1] = poz;
      op[x] = 'C';
      v[x] = i;
      w[x] = poz;

    }
  }

  fprintf(g,"%d\n",x);
  for (i=1;i<=x;i++)
    fprintf(g,"%c %d %d\n",op[i],v[i],w[i]);


  fclose(f);
  fclose(g);

  return 0;
}