Cod sursa(job #2973011)

Utilizator alexscanteieScanteie Alexandru alexscanteie Data 30 ianuarie 2023 20:22:01
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
using namespace std;

ifstream fin("permutari.in");
ofstream fout("permutari.out");

int st[20],n;

void afisare()
{
    for(int i = 1 ; i <= n ; i++)
        fout << st[i] << " ";
    fout << endl;
}
int valid(int k)
{
    ///verific daca st[k] nu mai apare inainte
    for(int i = 1 ; i < k ; i++)
        if(st[i] == st[k]) return 0;
    return 1;
}
void back(int k)///k = poz la care am ajuns
{
    for(int i = 1 ; i <= n ; i++)///de unde se ia st[k]
    {
        st[k] = i;
        if(valid(k))///daca e valid (nu se repeta)
            if(k == n) afisare();///solutie
            else back(k + 1);///trec la poz urmatoare
    }
}

int main(){
    fin>>n;
    back(1);
    return 0;
}