Pagini recente » Cod sursa (job #1422129) | Cod sursa (job #1986063) | Cod sursa (job #291766) | Cod sursa (job #1138021) | Cod sursa (job #1364887)
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
FILE *f = fopen( "submultimi.in", "r" );
FILE *g = fopen( "submultimi.out", "w" );
void print_vector( vector<int> v )
{
int vector_size = v.size();
for( int i = 0; i < vector_size; i++ )
{
fprintf( g, "%d ", v[i] );
}
fprintf( g, "\n" );
}
void backtrack( vector<int> v, int n, int k )
{
//vector<int> aux;
int last_element;
if( v.size() == k )
{
print_vector( v );
}
else
{
if( v.size() != 0 )
{
last_element = v.back();
}
else
{
last_element = 0;
}
for( int i = last_element + 1; i <= n; i++ )
{
//aux = v;
//aux.push_back( i );
v.push_back( i );
//backtrack( aux, n, k );
backtrack( v, n, k );
v.pop_back();
}
}
}
int main()
{
int n;
vector<int> v;
fscanf( f, "%d", &n );
for( int i = 1; i <= n; i++ )
{
backtrack( v, n, i );
}
fclose( f );
fclose( g );
return 0;
}