Pagini recente » Cod sursa (job #1518118) | Cod sursa (job #450624) | Cod sursa (job #1705183) | Cod sursa (job #79668) | Cod sursa (job #2714509)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream in("submultimi.in");
ofstream out("submultimi.out");
int n;
int x[20];
void afisare(int k)
{
for(int i = 1; i <= k; ++ i)
out << x[i] << " ";
out << '\n';
}
bool valid(int k)
{
for(int i = 1; i < k; ++ i)
if(x[k] <= x[i]) return 0;
return 1;
}
void backtrack(int k)
{
for(int i = 1; i <= n; ++ i)
{
x[k] = i;
if(valid(k))
{
afisare(k);
backtrack(k + 1);
}
}
}
int main()
{
in >> n;
backtrack(1);
return 0;
}