Sari la conținut

Problema #3247 – subimp1 – Rezolvari PBInfo

de Mihai-Alexandru 1 min citire

Cerința

Se citește un număr natural n. Afișați în ordine lexicografică toate submulțimile mulțimii {1, 2, ..., n} care sunt formate dintr-un număr impar de elemente.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa pe ecran submulțimile cerute, câte una pe fiecare rand și având elementele separate prin câte un spaţiu.

Restricții și precizări

  • 1 ≤ n ≤ 19

Exemplu

Intrare

4

Ieșire

1 
1 2 3 
1 2 4 
1 3 4 
2 
2 3 4 
3 
4
#include <bits/stdc++.h>
using namespace std;

int n , x[50];

void afisare(int k)
{
    for(int i = 1 ; i <= k ; i++)
        cout << x[i] << " ";
    cout << '\n';
}

void back(int k)
{
    for(int i = x[k - 1] + 1 ; i <= n ; i++)
    {
        x[k] = i;
        if(k % 2 == 1) afisare(k);
        back(k + 1);
    }
}

int main()
{
    cin >> n;
    back(1);
}