Pagini recente » Cod sursa (job #700063) | Cod sursa (job #174720) | Cod sursa (job #127425) | Cod sursa (job #2885299) | Cod sursa (job #1996664)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("submultimi.in");
ofstream out("submultimi.out");
const int NMax = 16 + 5;
int N;
int v[NMax];
// v - vector unde se genereaza solutiile
void backT(int);
int main() {
in>>N;
backT(1);
in.close();
out.close();
return 0;
}
// functie care genereaza submultimiile prin metoda backtracking
void backT(int idx) {
for (int k = v[idx-1] + 1;k <= N;++k) {
v[idx] = k;
// se afiseaza submultimea
for (int i=1;i <= idx;++i) {
out<<v[i]<<' ';
}
out<<'\n';
backT(idx+1);
}
}