Pagini recente » Cod sursa (job #1806023) | Cod sursa (job #88395) | Borderou de evaluare (job #1578049) | Cod sursa (job #1965187) | Cod sursa (job #645230)
Cod sursa(job #645230)
#include<cstdio>
void backtrack( int k, int p, int l, int s[], int a[], int len ){
int i;
if( l >= k ){
for( i=0; i<k; ++i ){
printf("%d ", s[i]);
}
printf("\n");
} else {
for( i=p+1; i<len; ++i ){
s[l] = a[i];
backtrack( k, i, l+1, s, a, len );
backtrack( k+1, i, l+1, s, a, len );
}
}
}
void subsets( int a[], int len ){
int i;
int s[len];
backtrack( 1, -1, 0, s, a, len );
}
int main(){
int n,i;
freopen( "submultimi.in", "r", stdin );
freopen( "submultimi.out", "w", stdout );
scanf("%d", &n);
int a[n];
for( i=0; i<n; ++i ){
a[i] = i+1;
}
subsets( a, n );
return 0;
}