Pagini recente » Cod sursa (job #1235845) | Cod sursa (job #1169715) | Cod sursa (job #3313079) | Cod sursa (job #3124272) | Cod sursa (job #1467705)
#include <fstream>
using namespace std;
ifstream fin ("submultimi.in");
ofstream fout ("submultimi.out");
int n, v[20];
// Afiseaza primele k elemente ale vectorului v;
void write(int k) {
int i;
for (i = 1; i <= k; i++) {
fout << v[i] << " ";
}
fout << "\n";
}
/* n = 3;
b(1) 1
b(1) -> b(2) 1 2
b(1) -> b(2) -> b(3) 1 2 3
b(1) -> b(2) -> b(3) -> b(4)
b(1) -> b(2) -> b(3)
b(1) -> b(2) 1 3
b(1) -> b(2) -> b(3)
b(1) -> b(2)
b(1) 2
b(1) -> b(2) 2 3
b(1) -> b(2) -> b(3)
b(1) -> b(2)
b(1) 3
b(1) -> b(2)
b(1) 2
*/
void backtracking(int k) {
int i;
for (i = v[k - 1] + 1; i <= n; i++) {
v[k] = i;
write(k);
backtracking(k + 1);
}
}
int main() {
fin >> n;
backtracking(1);
return 0;
}