Cod sursa(job #1692845)
| Utilizator | Data | 21 aprilie 2016 20:04:42 | |
|---|---|---|---|
| Problema | Submultimi | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("submultimi.in" );
ofstream g("submultimi.out");
int N, v[20], use[20];
void Afisare() {
int ok = 0;
for ( int i=1 ; i<=N ; i++ )
if ( use[i] ) ok = 1;
if ( !ok ) return;
for ( int i=1 ; i<=N ; i++ )
if ( use[i] ) g << i << ' ';
g << '\n';
}
void BackTrack(int layer) {
if ( layer > N ) {
Afisare();
return;
}
use[layer] = 1;
BackTrack(layer+1);
use[layer] = 0;
BackTrack(layer+1);
}
int main() {
f >> N;
BackTrack(1);
}
