Cod sursa(job #880587)

Utilizator bratiefanutBratie Fanut bratiefanut Data 16 februarie 2013 22:40:46
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<fstream>

using namespace std;

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

int a[100],b[100];

void back(int k,int len,int max)
{
     if(k-1 == max) //afisam solutia
     {
         for(int i = 1; i <= max;i++)
           g<<a[i]<<' ';
         g<<"\n";
     }
     else
     {
         for(int  i = 1; i <= len; i++)
            if(!b[i] && a[k-1] < i)  //ne asiguram ca generam solutiile crescatoare si unice
           {
                 a[k] = i;
                 b[i] = 1; //o folosim
                 back(k+1,len,max); //trecem la pasul urmator
                 b[i] = 0;   //o eliberam
           }
     }
}

int main()
{
    int n,k;
    f>>n>>k;
    back(1,n,k);
    f.close(); g.close();
    return 0;
}