Cod sursa(job #1516128)

Utilizator Lazar_LaurentiuLazar Laurentiu Lazar_Laurentiu Data 2 noiembrie 2015 19:15:03
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>

using namespace std;

int n, a[10], i, e1, e2,j,c;

int main()
{
    ifstream f ("permutari.in");
    ofstream g ("permutari.out");
    f >> n;
    for(i = 1; i <= n; i++) {
        a[i] = i;
        g << a[i]<<" ";
    }
    g<<'\n';
    while (i >= 2) {
        for(i = n; a[i - 1] > a[i]; i--);
        if(i >= 2) {
            for(j = n; a[j] < a[i - 1]; j--); // ! i
            swap(a[i - 1], a[j]); // ! i
            for(e1 = i, e2 = n; e1 < e2; e1++, e2--) // ! >
                swap(a[e1], a[e2]);
            for(c = 1; c <= n; c++)g << a[c] << " ";
            g<<'\n';
        }
    }
    f.close ();
    g.close ();
    return 0;
}

/*

53287641
  i   j
53487621

53412678
53412687

87654321

1024 = 2^10

log(2) 1024 = 10
*/