Pagini recente » Cod sursa (job #1586863) | Cod sursa (job #1234138) | Cod sursa (job #2714109) | Cod sursa (job #1322629) | Cod sursa (job #3200738)
#include <iostream>
#include <fstream>
#include <map>
using namespace std;
int n, v[11], f[11];
bool valid(int k)
{
int i;
for (i = 1; i < k; i++)
if (v[k] == v[i])
return false;
return true;
}
bool succesor(int k)
{
if (v[k] < n)
{
v[k]++;
return true;
}
return false;
}
void afisare(int k)
{
int i;
for (i = 1; i <= k; i++)
cout << v[i] << ' ';
cout << '\n';
}
void bkt(int k)
{
v[k] = 0;
while (k > 0)
{
bool is_succesor = true;
bool is_valid = false;
while (is_succesor && !is_valid)
{
is_succesor = succesor(k);
if (is_succesor)
is_valid = valid(k);
}
if (!is_succesor)
k--;
else
{
afisare(k);
k++;
v[k] = v[k - 1];
}
}
}
int main()
{
cin >> n;
bkt(1);
return 0;
}