Cod sursa(job #263416)
Utilizator | Alexandru-Iancu Caragicu Bit_Master | Data | 20 februarie 2009 12:52:14 |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <stdio.h>
const int N = 19;
int n,k,sol[N];
char afisat;
void afisare()
{
if (afisat)
printf ("\n");
else
afisat = 1;
printf ("%d",sol[1]);
for (int i = 2; i <= k; ++i)
printf (" %d",sol[i]);
}
void avansare(int poz)
{
for (int i = sol[poz-1]+1; i <= n; ++i)
{
sol[poz] = i;
if (poz == k)
afisare();
else
avansare (poz+1);
}
}
int main()
{
freopen ("combinari.in","r",stdin);
freopen ("combinari.out","w",stdout);
scanf ("%d %d",&n,&k);
avansare(1);
return 0;
}