Cod sursa(job #163928)

Utilizator xtremespeedzeal xtreme Data 23 martie 2008 12:29:02
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<iostream.h>
#include<fstream.h>


int n,k,st[20],as,ev,i,h,j;

void succesor()
	{
	if(st[k]<n)
			{st[k]++;as=1;}
		else
			as=0;
	}
void valid()
	{
	ev=1;
	for(i=1;i<=k-1;i++)
		if(st[k]==st[i])||(st[i]>st[i+1]))
			{ev=0;break;}
	}
int main()
	{
	fstream f("combinari.in",ios::in),g("combinari.out",ios::out);
	f>>n>>h;
	k=1;st[k]=0;
	while(k>0)
		{
		do
			{
			succesor();
			if(as)
				valid();
			if((!as)||((as)&&(ev)))
				break;
			}
		while(1<2);
		if(as==1)
			{
			if(k==h)
				{
				for(i=1;i<=h;i++)
					g<<st[i]<<" ";
				g<<endl;

				}
			else
				{k++;st[k]=0;}
			}
		else
			k--;
		}
	f.close();g.close();
	}