Cod sursa(job #902630)
Utilizator | Iorga Andreea andreea29 | Data | 1 martie 2013 15:33:39 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include<fstream>
#define Nmax 20
using namespace std;
int n, v[Nmax], viz[Nmax];
ifstream f("permutari.in");
ofstream h("permutari.out");
void back (int n, int i)
{
int j = 0;
if (i <= n)
{
for (j = 1; j <= n; ++j)
if (!viz[j])
{
viz[j] = 1;
v[i] = j;
back(n, i + 1);
viz[j] = 0;
}
}
else
{
for (j = 1; j <= n; ++j)
h << v[j] << " ";
h << '\n';
}
}
int main()
{
f >> n;
back (n, 1);
f.close();
h.close();
return 0;
}