Cod sursa(job #2634041)

Utilizator marinaoprOprea Marina marinaopr Data 9 iulie 2020 17:14:06
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int p[10],i,j,n,st,dr,gasit,nr;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        p[i]=i;
    do
    { nr++;
        for(i=1;i<=n;i++)
            fout<<p[i]<<" ";
        fout<<'\n';
        gasit=0;
        i=n-1;
        while(gasit==0 and i>=1)
            if(p[i]>p[i+1]) i--;
             else gasit=1;
        if(gasit){
            j=n;
            while(p[j]<p[i]) j--;
            swap(p[j],p[i]);
            st=i+1;
            dr=n;
            while(st<dr){
                swap(p[st],p[dr]);
                st++;
                dr--;
            }

        }
    }while (gasit==1 and nr<150000);

    return 0;
}