Cod sursa(job #1497358)

Utilizator juniorOvidiu Rosca junior Data 6 octombrie 2015 18:19:23
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

int a[10], aux, i, is, id, n;
ifstream fi("permutari.in");
ofstream fo("permutari.out");

void afisare () {
  int i;

  for (i = 1; i <= n; i++)
    fo << a[i] << ' ';
  fo << '\n';
}

int main () {
  fi >> n;
  a[0] = n + 1;
  for (i = 1; i <= n; i++)
    a[i] = i;
  afisare();
  while (1 <= i) {
    for (i = n - 1; a[i] > a[i + 1]; i--);
    if (1 <= i) {
      for (id = n; a[id] < a[i]; id--);
      swap (a[i], a[id]);
      for (is = i + 1, id = n; is < id; is++, id--)
        swap (a[is], a[id]);
      afisare ();
    }
  }
  return 0;
}

/*
53287641
  i   j
53487621
   87621
   i   j
53412678
*/