Pagini recente » Cod sursa (job #181279) | Diferente pentru utilizator/robybrasov intre reviziile 51 si 50 | Cod sursa (job #2009238) | Cod sursa (job #1532674) | Cod sursa (job #2023056)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int s[20];
int n;
void init(int k)
{
s[k] = 0;
}
bool solutie(int k)
{
return k == n;
}
void afisare(int k)
{
for(int i = 1; i <= k ; i++)
{
fout << s[i] << ' ';
}
fout << '\n';
}
bool succesor(int k)
{
if(s[k] < n)
{
s[k]++;
return true;
}
return false;
}
bool valid(int k)
{
for(int i = 1; i < k; i++)
{
if(s[k] == s[i])
{
return false;
}
}
return true;
}
void bkt(int k)
{
for(int i = 1; i <= n; i++)
{
s[k] = i;
if(valid(k))
{
if(k == n) afisare(n);
else bkt(k + 1);
}
}
}
int main()
{
fin >> n;
bkt(1);
return 0;
}