Cod sursa(job #495026)
Utilizator | Data | 23 octombrie 2010 18:44:16 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <stdio.h>
int st[19],n,m;
void tipar()
{
for(int i=1;i<=m;++i)
printf("%d ",st[i]);
printf("\n");
}
int ok(int k, int val)
{
int valid=1;
if(k>1&&val<=st[k-1])
valid=0;
return valid;
}
void back(int k)
{
if(k==m+1)
tipar();
else
{
for(int val=1; val<=n; ++val)
if(ok(k,val))
{
st[k]=val;
back(k+1);
}
}
}
int main()
{
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d",&n,&m);
back(1);
}