Cod sursa(job #1497415)
Utilizator | Data | 6 octombrie 2015 19:42:13 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include <fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int v[20], n;
void afisare(int p)
{
for(int i = 1; i <= n; i++)
fout << v[i] <<" ";
fout <<'\n';
}
bool valid(int p)
{
for(int i = 1; i < p ; i++)
if(v[i] == v[p])
return false;
return true;
}
void back(int p)
{ int pval;
for(pval = 1; pval <= n; pval++)
{
v[p] = pval;
if(valid(p))
if(p == n)
afisare(p);
else
back(p+1);
}
}
int main()
{
fin >> n;
back(1);
return 0;
}