Cod sursa(job #600251)

Utilizator Andrei1998Andrei Constantinescu Andrei1998 Data 30 iunie 2011 22:13:18
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.14 kb
#include<fstream.h>

using namespace std;

//Fisiere
ifstream fin("combinari.in");
ofstream fout("combinari.out");

//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()
{   
    //Citire
    fin>>n;
    fin>>k;
    
    //Generare combinari
    back(0);
    
    //Incheiere
    fin.close();
    fout.close();
    return 0;   
}