Cod sursa(job #2636796)

Utilizator GiosinioGeorge Giosan Giosinio Data 19 iulie 2020 23:24:40
Problema Submultimi Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#define DIM 20

using namespace std;

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

bool taken[DIM];
int n, v[DIM];

void afisare(int l, int v[]){
    for(int i=1; i<=l; i++)
        g<<v[i]<<" ";
    g<<"\n";
}

bool validare(int l, int v[]){
    for(int i=1; i<l; i++)
        if(v[i] > v[i+1])
            return 0;
    return 1;
}

void bkt(int k){
    for(int i=1; i<=n; i++){
        if(taken[i] == 0){
            v[k]=i;
            taken[i]=1;
            if(validare(k,v)){
                afisare(k,v);
                bkt(k+1);
            }
            taken[i]=0;
        }
    }
}

int main()
{
    f>>n;
    bkt(1);
}