Cod sursa(job #936805)
Utilizator | SAlexandru BitOne | Data | 8 aprilie 2013 20:40:49 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
#include <cstdlib>
using namespace std;
const int NMAX = 20;
int N;
int v[NMAX];
bool was[NMAX];
ofstream out("permutari.out");
inline void back(int k)
{
if(N == k - 1)
{
for(int i = 1; i <= N; ++i) out << v[i] << ' ';
out << '\n';
return;
}
for(int i = 1; i <= N; ++i)
if(!was[i])
{
v[k] = i;
was[i] = true;
back(k + 1);
was[i] = false;
}
}
int main()
{
ifstream in("permutari.in");
in >> N;
back(1);
return EXIT_SUCCESS;
}