Cod sursa(job #352807)

Utilizator preda_alexandruPreda Alexandru preda_alexandru Data 3 octombrie 2009 14:48:51
Problema Combinari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream.h>

int v[20],n,k,j;

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

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

int valid(int i)
{
for(j=1;j<i;j++)if(v[j]>=v[i])return 0;
return 1;
}

void tipar()
{
for(j=1;j<=k;j++)fout<<v[j]<<" ";
fout<<"\n";
}

void bkt()
{
int i=1;
v[i]=0;
while(i){
	if(succesor(i)){
		       if(valid(i))if(i==k)tipar();
				   else {
					i++;
					v[i]=0;
					}
		       }
	else i--;
	}
}

int main()
{
fin>>n>>k;
bkt();
fin.close();
fout.close();
return 0;
}