Cod sursa(job #392731)
| Utilizator | Data | 8 februarie 2010 09:11:36 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<stdio.h>
int n,m,sol[30];
int continuare(int k)
{int i;
for(int i=1;i<k;i++)
if(sol[i]>=sol[k])
return 0;
return 1;}
void afisare()
{int i;
for(i=1;i<=m;i++)
printf("%d ",sol[i]);
printf("\n");
}
void bkt(int k)
{int i;
for(i=1;i<=n;i++)
{sol[k]=i;
if(continuare(k))
{if(k==m)
afisare();
else bkt(k+1);}}
}
int main()
{freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d %d",&n,&m);
bkt(1);
fclose(stdin);
fclose(stdout);
return 0;
}
