Cod sursa(job #2989165)

Utilizator nnmadalinNeauna Madalin nnmadalin Data 6 martie 2023 08:25:44
Problema Submultimi Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <bits/stdc++.h>
using namespace std;
///=================
#define swap(a,b) a^=b^=a^=b
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b
const string file_name = "submultimi";
ifstream fin(file_name + ".in");
ofstream fout(file_name + ".out");

int a[30], v[30], n, fn = 0;

void afisare(){
    string res;
    bool ver = false;
    for(int i = 1; i <= fn && ver == false; i++){
        res += char(char(v[i]) + '0');
        res += " ";
        if(v[i] <= v[i-1])
            ver = true;
    }
    if(ver == false)
        fout << res << "\n";
}

void bck(int k){
    for(int i = 1; i <= n; i++){
        if(a[i] == 0){
            a[i] = 1;
            v[k] = i;

            fn = k;
            afisare();
            if(k < n)
                bck(k + 1);

            a[i] = 0;
        }
    }
}

int main(){

    fin >> n;

    bck(1);

    return 0;
}