Cod sursa(job #381410)

Utilizator bugyBogdan Vlad bugy Data 10 ianuarie 2010 15:33:34
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include<stdio.h> 
using namespace std; 
#define DIM 19 
#include<string.h> 

int i,k,v[DIM],as,ev,n,K; 
FILE *f=fopen("combinari.in","r"), *g=fopen("combinari.out","w"); 

void init() 
{ 
v[k]=v[k-1]; 
} 

int succesor() 
{ 
v[k]=v[k]+1; 
if(v[k]<=n) 
    return 1; 
else return 0; 
} 

int valid() 
{ 
return 1; 
} 

int solutie() 
{ 
if(k==K) 
    return 1; 
else return 0; 
} 

void afisare() 
{
       for(i=1;i<=k;i++) 
            fprintf(g,"%d ",v[i]); 
        fprintf(g,"\n"); 
        
         
} 


void bt() 
{  
	
k=1; 
init(); 
as=1; ev=0; 
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() 
{ 
fscanf(f,"%d %d",&n,&K); 

bt(); 

fclose(f); 
fclose(g); 

return 0; 
}