Cod sursa(job #2227610)

Utilizator cezarzbughinCezar Zbughin cezarzbughin Data 1 august 2018 10:43:10
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int n,i,j,p[10];
bool urmatoarea_permutare();
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        p[i]=i;
    do
    {
        for(i=1;i<=n;i++)
            g<<p[i]<<' ';
        g<<'\n';
    }
    while(urmatoarea_permutare());
    return 0;
}
bool urmatoarea_permutare()
{
    for(i=n;i>1&&(p[i]<p[i-1]);i--);
    if(i==1)
        return false;
    for(j=n;p[j]<p[i-1];j--);

    swap(p[i-1],p[j]);

    for(j=n;i<j;i++,j--)
        swap(p[i],p[j]);
    return true;
}