Pagini recente » Cod sursa (job #870089) | Cod sursa (job #1049621) | Cod sursa (job #1906750) | Cod sursa (job #2157774) | 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;
}