Pagini recente » Cod sursa (job #1778890) | Cod sursa (job #1567744) | Cod sursa (job #2710806) | Cod sursa (job #2486238) | Cod sursa (job #1017705)
#include <fstream>
#include <stdio.h>
#define m 1000
using namespace std;
int s[m];
void print(int k)
{
for(int i=0;i<k;i++)
{
printf("%d ", s[i]+1);
}printf("\n");
}
bool ok(int p)
{
for(int i=0;i<p;++i)
{
if(s[p]<=s[i])
return false;
}
return true;
}
void combinari(int n,int k)
{int p=1;
for(;p>=0;)
{
if(s[p]<n)
{
++s[p];
if(ok(p))
{
if(p==k)
{
print(k);
p--;
}
else
{
++p;
s[p]=0;
}
}
}
else
{
--p;
}
}
}
int main()
{int n,k;
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%i%i",&n, &k);
combinari(n,k);
return 0;
}