Cod sursa(job #1570144)

Utilizator AdaLeoLeordean Ada Alexandra AdaLeo Data 16 ianuarie 2016 11:11:12
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.11 kb
#include <iostream>
#include <fstream>
#include <stack>

using namespace std;

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

const int maxn=20;
int top, st[maxn], n;
///bool used[maxn];
///sau
///bitset <maxn> used;             <- nu da kill by signal
/*
    used.count()=return nr val == 1;
    used.reset()=return bitii la 0

    nu poti citi direct cu f>>

*/
void back(int k)
{
    if (k== n+1)
        {/*
            bool ok = false;
            if (top!=0)
            for (int i=1; i<=n; ++i)
                if(used[i]==1)
            {       g<<st[i] <<' ';
                    ok=true;
            }

            if(ok)
                g<<'\n';
            SAU
            */
            if (top != 0) ///multimea vida
            {
                for(int i=1; i<=top; ++i)
                    g<<st[i]<<' ';
                g<<'\n';
            }
            return;
        }
    ///nu alegem elementul
    back(k+1);
    ///alegem elemntul
    st[++ top]=k;
    back (k+1);
    --top;

}


int main()
{

    f>>n;
    back(1);
    return 0;
}