Cod sursa(job #677818)

Utilizator marius135Dumitran Adrian Marius marius135 Data 10 februarie 2012 18:27:05
Problema Submultimi Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
// Infoarena - Arhiva Educationala Submultimi
// Februrie 2012 Marius Dumitran
// Backtracking O(2^N)

#include<string.h>
#include<stdio.h>

int sol[ 32];

void back( int level, int N) {
	if( level != 1) {
		for( int i = 1; i < level - 1; ++i) 
			printf("%d ", sol[ i ]);
		printf("%d\n", sol[level - 1]);
	}
	for( int i = sol[ level - 1] + 1; i <= N; ++i) {
		sol[ level ] = i;
		back(level+1, N);
	}
}

int main() {
	
	//freopen("submultimi.in", "r", stdin);
	//freopen("submultimi.out", "w", stdout);
	
	int N;
	scanf("%d", &N);
	
	back( 1, N);
}