Cod sursa(job #1306278)

Utilizator hrazvanHarsan Razvan hrazvan Data 30 decembrie 2014 20:02:03
Problema Grozavesti Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <stdio.h>
#define MAXN 300
int v[MAXN], r1[MAXN], r2[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;
      dr++;
    }
  }
  FILE *out = fopen("grozavesti.out", "w");
  fprintf(out, "%d\n", dr * 2);
  for(i = 0; i < dr; i++){
    fprintf(out, "L %d %d\nC %d %d\n", r1[i] + 1, r2[i] + 1, r1[i] + 1, r2[i] + 1);
  }
  fclose(out);
  return 0;
}