Cod sursa(job #2430241)

Utilizator mariasmmskklns mariasmm Data 13 iunie 2019 14:36:48
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector <int> v;
int n;

int verifica(int k)
{
    int ok=1, i=0;
    while (ok&&i<v.size())
    {
        if (v[i]==k)
            ok=0;
        i++;
    }
    if (ok)
        return 1;
        return 0;
}

int main()
{
    ifstream f ("permutari.in");
    ofstream g ("permutari.out");
    f>>n;
    int l=0;
    int next=1;
    while (l!=-1)
    {
        while ((!verifica(next))&&(next<=n))
            next++;
        if (next<=n)
        {
            v.push_back(next);
            l++;
            next=1;
        } else
        {
            next=v[l-1]+1;
            v.pop_back();
            l--;
        }
        if (l==n)
        {
            for (int i=0; i<v.size(); i++)
                g<<v[i]<<" ";
            g<<"\n";
            next=v[n-1]+1;
            v.pop_back();
            l--;
        }
    }
    return 0;
}