Cod sursa(job #3257279)

Utilizator YuzukyIstrate Andreea Ruxandra Yuzuky Data 17 noiembrie 2024 11:43:54
Problema Submultimi Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("submultimi.in");
ofstream out("submultimi.out");
int n, k, nr;
int d[20], sol[20];
void make()
{
    for(int i=1; i<=n; ++i)
        d[i]=1<<(n-i);
}
void solve()
{
    int x=0;
    nr=0;
    for(int i=1; i<=n && x<k; ++i)
    {
        if(x<k-d[i])
            x+=d[i];
        else
        {
            x++;
            sol[++nr]=i;
        }
    }
}
int main()
{
    in>>n;
    make();
    int lim=1<<n;
    for(k=1; k<lim; ++k)
    {
        solve();
        for(int i=1; i<=nr; ++i)
            out<<sol[i]<<" ";
        out<<'\n';
    }
    return 0;
}