Pagini recente » Cod sursa (job #2887191) | Cod sursa (job #2338779) | Cod sursa (job #2168783) | Cod sursa (job #574055) | Cod sursa (job #163922)
Cod sursa(job #163922)
#include<iostream.h>
#include<fstream.h>
int n,k,st[20],as,ev,i,h,j,aux,ok;
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])
ev=0;
}
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)
{
ok=1;
for(i=1;i<=h-1;i++)
if(st[i]>st[i+1])
{
ok=0;break;
}
if(ok)
{
for(i=1;i<=h;i++)
g<<st[i]<<" ";
g<<endl;
}
ok=1;
}
else
{k++;st[k]=0;}
}
else
k--;
}
f.close();g.close();
}