Pagini recente » Cod sursa (job #2248814) | Cod sursa (job #810153) | Cod sursa (job #638760) | Cod sursa (job #1930545) | Cod sursa (job #2231143)
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
using namespace std;
static vector<int> v;
static bool test = false;
static ifstream in("submultimi.in");
static ofstream out("submultimi.out");
void print()
{
for (uint32_t i = 0; i < v.size(); ++i)
out << v[i] << " ";
out << "\n";
}
bool backtrack(int pos, int n)
{
if (pos == n )
{
print();
return true;
}
v[pos] = 0;
while ( ++v[pos] <= n )
{
bool found = false;
for (int i = pos - 1; i >= 0; --i)
if (v[pos] == v[i])
{
found = true;
break;
}
if ( !found )
bool res = backtrack(pos + 1, n);
}
}
int main()
{
int n;
in >> n;
v.resize(n, 0);
backtrack(0, n);
return 0;
}