Cod sursa(job #2079750)

Utilizator pistvanPeter Istvan pistvan Data 1 decembrie 2017 19:36:42
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

ifstream f("permutari.in");
ofstream g("permutari.out");

int N;

void next_perm(int a[])
{
    int i=N;
    while (a[i-1]>a[i] && i>1)
        --i;
    --i;
    if (!i)
        return;
    int j=i+1;
    while (a[j]>a[i] && j<=N)
        j++;
    --j;
    swap(a[i], a[j]);
    ++i;
    j=N;
    while (i<j)
    {
        swap(a[i], a[j]);
        i++;
        j--;
    }
    for (int i=1;i<=N;i++)
            g<<a[i]<<' ';
    g<<'\n';
    next_perm(a);
}

int main()
{
    f>>N;
    int p[N+1];
    for (int i=1;i<=N;i++)
    {
        g<<i<<' ';
        p[i]=i;
    }
    g<<'\n';
    next_perm(p);
}