Cod sursa(job #1894104)

Utilizator AndreiLunguLungu Andrei Sebastian AndreiLungu Data 26 februarie 2017 14:52:23
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>

using namespace std;
int a[25],n;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int main()
{
    int i,p,mi,gata=0,j;
    fin>>n;
    for(i=1;i<=n;i++)
        a[i]=i;
    while(gata==0)
    {
        for(i=1;i<=n;i++)
            fout<<a[i]<<" ";
        fout<<"\n";
        i=n;
        while(i>1 && a[i]<a[i-1])
            i--;
        i--;
        if(i==0)
            gata=1;
        else
        {
            p=i+1;
            mi=1000000;
            for(j=i+1;j<=n;j++)
                if(a[j]>a[i] && a[j]<mi)
            {
                mi=a[j];
                p=j;
            }
            swap(a[i],a[p]);
            sort(a+i+1,a+n+1);
        }
    }
    fin.close();
    fout.close();
    return 0;
}