Pagini recente » Cod sursa (job #1456689) | Istoria paginii runda/simulare-cartita-47 | Cod sursa (job #2071429) | Cod sursa (job #1693729) | Cod sursa (job #1317047)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("permutari.in");
ofstream out("permutari.out");
int sol[1001], n;
bool valid(int p)
{
for (int i = 1; i < p; i++)
if (sol[i] == sol[p]) return false;
return true;
}
//bool folosit[21];
void afisare()
{
for (int i = 1; i <= n; i++)
out << sol[i] << " ";
out << "\n";
}
void bkt (int p)
{
if (p - 1 == n) afisare();
else
for (int i = 1; i <= n; i++)
{
sol[p] = i;
if (valid(p)) bkt(p+1);
/*if (!folosit[i])
{
folosit[i] = true;
sol[p] = i;
bkt(p+1);
folosit[i] = false;
}*/
}
}
int main()
{
in >> n;
bkt(1);
return 0;
}