Cod sursa(job #154581)

Utilizator Binary_FireFlorin Pogocsan Binary_Fire Data 11 martie 2008 12:10:09
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.14 kb
#include <stdio.h>

int N,K;
int dim,x[32];

int main()
{
    int i;
    
    freopen("combinari.in","r",stdin);
    freopen("combinari.out","w",stdout);
    
    scanf("%d%d",&N,&K);
    
    dim = 1;
    
    while ( dim != 0 )    
    {
          ++x[ dim ];                       //aleg urmatoarea valoare pentru nivelul curent
          
          if ( x[ dim ] == N + 1 )          //am epuizat toate posibilitatile pentru nivelul curent
          {
             --dim;                         //revin pe nivelul trecut
             continue;                      //si sar peste operatiile urmatoare
          }
          
          if ( dim == K )                   //sunt pe nivelul K
          {
               for ( i = 1; i <= K; ++i )   //si afisez solutia
                   printf("%d ",x[i]);
               printf("\n");     
          }
          else                              //altfel trec pe nivelul urmator
          {
              ++dim;             
              x[ dim ] = x[ dim - 1 ];      //valoarea nivelului va incepe cu valoarea nivelului trecut
          }
    }
    
    return 0;   
}