Cod sursa(job #872769)
Utilizator | Christescu Matei matei_c | Data | 6 februarie 2013 16:10:55 |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include<cstdio>
#define maxn 101
int n, k ;
int sel[maxn], sol[maxn] ;
void back(int level)
{
if( k + 1 == level )
{
for(int i = 1; i <= k; ++i )
printf("%d ", sol[i]);
printf("\n");
return ;
}
for(int i = sol[level-1] + 1; i <= n; ++i )
{
if( sel[i] == 0 )
{
sel[i] = 1 ;
sol[level] = i ;
back( level + 1 ) ;
sel[i] = 0 ;
}
}
}
int main()
{
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
scanf("%d%d", &n, &k);
back(1) ;
return 0 ;
}