Cod sursa(job #799888)

Utilizator Ionut228Ionut Calofir Ionut228 Data 20 octombrie 2012 12:27:07
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<fstream>
using namespace std;

ifstream f("combinari.in");
ofstream g("combinari.out");

int n,m,k,x[20];

void init ()
{
	x[k]=0;
}

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

int valid ()
{
	int ev=1,i;
	if(k>1)
		if(!(x[k]>x[k-1]))
			ev=0;
	return ev ;
}

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

void tipar ()
{
	int i;
	for(i=1;i<=k;i++)
		g<<x[i]<<" ";
	g<<"\n";
}

void back ()
{
	int as;
	k=1;
	init();
	while (k>0)
	{  
		do {}  while ((as=succesor()) && !valid());
		if (as) 
		{			
			if (solutie())
				tipar();
			else
			{
				k++;
				init();
			}
		}
		else 
			k--;
  }
}

int main ()
{
	f>>n;
	f>>m;
	back();
	f.close();g.close();
	return 0;
}