Cod sursa(job #2025278)

Utilizator SlevySlevoaca Stefan-Gabriel Slevy Data 22 septembrie 2017 12:40:26
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
#define NMAX 17

using namespace std;

using _int = short int;
_int _stack[NMAX], vf;

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

inline bool ok() {

    if (vf > 1)
    {
        if (_stack[vf] <= _stack[vf - 1])
            return false;
    }
    return true;
}

inline void print() {

    for (_int i = 1; i <= vf; i++)
        out << _stack[i] << " ";
    out << "\n";
}

int main() {

    _int N;
    in >> N;
    in.close();

    _stack[++vf] = 0;

    while (vf) {

        _stack[vf]++;
        if (_stack[vf] > N)
            vf--;
        else {

            if (ok() && vf <= N) {

                print();
                _stack[++vf] = 0;
            }
        }
    }

    out.close();
    return 0;
}