Pagini recente » Cod sursa (job #3003792) | Cod sursa (job #1441238) | Cod sursa (job #1510202) | Cod sursa (job #645751) | Cod sursa (job #1472223)
#include <fstream>
using namespace std;
bool isInPartialSolution(int val, int index, int a[])
{
for (int i = 0; i < index; i++)
if (a[i] == val)
return true;
return false;
}
void nextPermutation(int index, int N, int a[], ofstream &g)
{
for (int i = 1; i <= N; i++)
if (!isInPartialSolution(i, index, a))
{
a[index] = i;
if (index == N - 1)
{
for (int j = 0; j < N; j++)
g << a[j] << " ";
g << '\n';
}
else
nextPermutation(index + 1, N, a, g);
}
}
int main()
{
int N;
ifstream f("permutari.in");
f >> N;
f.close();
int a[N];
ofstream g("permutari.out");
nextPermutation(0, N, a, g);
g.close();
return 0;
}