Cod sursa(job #1306270)

Utilizator hrazvanHarsan Razvan hrazvan Data 30 decembrie 2014 19:51:22
Problema Grozavesti Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <stdio.h>
#define MAXN 300
int v[MAXN], r1[2 * MAXN], r2[2 * MAXN];

int main(){
  FILE *in = fopen("grozavesti.in", "r");
  int n, i, j, x;
  fscanf(in, "%d", &n);
  for(i = 0; i < n; i++){
    for(j = 0; j < n; j++){
      fscanf(in, "%d", &x);
      if(i == j)
        v[i] = x;
    }
  }
  fclose(in);
  int min, dr = 0, aux;
  for(i = 0; i < n; i++){
    min = i;
    for(j = i; j < n; j++){
      if(v[min] > v[j])
        min = j;
    }
    if(min != i){
      aux = v[i];
      v[i] = v[min];
      v[min] = aux;
      r1[dr] = i;
      r2[dr] = min;
      r1[dr + 1] = i;
      r2[dr + 1] = min;
      dr += 2;
    }
  }
  FILE *out = fopen("grozavesti.out", "w");
  fprintf(out, "%d\n", dr / 2);
  for(i = 0; i < dr; i++){
    if(i & 1)
      fprintf(out, "C ");
    else
      fprintf(out, "L ");
    fprintf(out, "%d %d\n", r1[i] + 1, r2[i] + 1);
  }
  fclose(out);
  return 0;
}