Cod sursa(job #600247)

Utilizator Andrei1998Andrei Constantinescu Andrei1998 Data 30 iunie 2011 22:11:01
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.16 kb
#include<fstream.h>

using namespace std;


//Initializare
unsigned short int n,k,v[18];

//Backtracking recursiv
void back(unsigned short int nivel)
{
     unsigned short int i=0;
     
     if(nivel==k)
     {
                 for(i=0;i<k;i++)
                 {
                       fout<<v[i]<<' ';                
                 }                   
                 fout<<'\n';
     }     
     else
     {
            if(nivel==0)
            {
                 for(i=1;i<=n;i++)
                 {
                      v[nivel]=i;
                      back(nivel+1);          
                 }
            }    
            else
            {
                 for(i=v[nivel-1]+1;i<=n;i++)
                 {
                      v[nivel]=i;
                      back(nivel+1);          
                 }    
            }            
     }
}


int main()
{
    //Fisiere
    ifstream fin("combinari.in");
    ofstream fout("combinari.out");
    
    //Citire
    cin>>n;
    cin>>k;
    
    //Generare combinari
    back(0);
    
    //Incheiere
    fin.close();
    fout.close();
    return 0;   
}