Cod sursa(job #2669228)

Utilizator bogdan2604Bogdan Dumitrescu bogdan2604 Data 6 noiembrie 2020 15:22:25
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>

using namespace std;

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

int n,i,d,j,v[9];

int main()
{
    f >> n;
    for(i = 1; i <= n; ++ i)
        v[i] = i;
    for(i = 1; i <= n; ++ i)
        g << v[i] << ' ';
    g << '\n';
    do
    {
        i = n;
        while(i > 1 && v[i] < v[i - 1])
            -- i;
        if(i == 1)
            break;
        for(d = n; d >= i - 1; -- d)
            if(v[d] > v[i - 1])
            {
                swap(v[i - 1],v[d]);
                break;
            }
        for(d = i; d < n; ++ d)
            for(j = d + 1; j <= n; ++ j)
                if(v[d] > v[j])
                    swap(v[d],v[j]);
        for(i = 1 ; i <= n; ++ i)
            g << v[i] << ' ';
        g << '\n';
    }
    while(1);
    return 0;
}