Cod sursa(job #2222581)

Utilizator claudiu.gatinaFMI Claudiu Gatina claudiu.gatina Data 17 iulie 2018 13:32:18
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <cstdio>

using namespace std;

int n;
int dimensiuneSubmultime;
int submultime[20];

void printCurrent()
{
  for(int i = 0; i < dimensiuneSubmultime; ++i)
  {
    printf("%d ", submultime[i]);
  }
  printf("\n");
}

void loop(int first, int elementeRamase)
{
  if(elementeRamase == 0)
  {
    printCurrent();
    return;
  }
  for(int i = first; i <= n - elementeRamase + 1; ++i)
  {
    submultime[dimensiuneSubmultime - elementeRamase] = i;
    loop(i + 1, elementeRamase - 1);
  }
}

int main()
{
    freopen("submultimi.in", "r", stdin);
    freopen("submultimi.out", "w", stdout);
    scanf("%d", &n);
    for(dimensiuneSubmultime = 1; dimensiuneSubmultime <= n; ++dimensiuneSubmultime)
    {
      loop(1, dimensiuneSubmultime);
    }
    return 0;
}