Pagini recente » onisim2009-7 | Cod sursa (job #2238396) | Cod sursa (job #127985) | Cod sursa (job #202003) | Cod sursa (job #648545)
Cod sursa(job #648545)
#include<stdio.h>
int sel[22];
int sol[22];
int N, M;
void back( int N, int level) {
if( level == 0) {
for( int j = M; j >= 1; --j)
printf("%d ", sol[j]);
printf("\n");
return;
}
for( int i = 1; i <= N; ++i) {
if( sel[i] == 1)
continue;
if( level != M && i < sol[level+1]) i = sol[level+1]+1;
if( i > N) break;
sol[level] = i;
sel[ i] = 1;
back( N, level-1);
sel[ i] = 0;
}
}
int main() {
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d %d", &N, &M);
back(N,M);
return 0;
}