Cod sursa(job #2441462)

Utilizator nicolaee2Martinescu Nicolae nicolaee2 Data 20 iulie 2019 15:13:31
Problema Submultimi Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 kb
#include <iostream>
#include <fstream>
#include<string.h>
using namespace std;

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

int n;
int as,ev;
int st[1000];
int k=0;

void init()
{
   st[k]=-1;
}
int succesor() {

   if(st[k]<1)
   {
      st[k] = st[k]+1;
      return 1;
   }else return 0;
}
int valid() {

   return 1;

}
int solutie()
{
   if(k==n)
      return 1;
   else return 0;
}
void afisare(){

   for(int i=n;i>=1;i--)
      if(st[i]) fout<<n-i+1<<" ";
   fout<<'\n';

}


void back(){
k=1;
init();
while(k>0)
{

   as=1;
   ev=0;
   while(as&&!ev)
   {
      as = succesor();
      if(as) ev = valid();
   }
   if(as) {

      if(solutie())
         {
            afisare();
         }
      else {

         k++;
         init();

      }

   }else {

      k--;

   }
}


}

int main()
{

   fin>>n;
   back();

   return 0;
}