Cod sursa(job #1318163)
Utilizator | Data | 15 ianuarie 2015 18:10:07 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
using namespace std;
int st[999],n;
ifstream fin("back.in");
ofstream fout("back.out");
int valid(int p)
{
int ok=1;
for(int i=1;i<p;++i)
if(st[i]==st[p]) ok=0;
return ok;
}
void afisare(int p)
{
for(int i=1;i<=p;++i)
fout<<st[i]<<" ";
fout<<endl;
}
void back(int p)
{
int pval;
for(pval=1;pval<=n;++pval)
{
st[p]=pval;
if(valid(p))
if(n==p) afisare(p);
else back(p+1);
}
}
int main()
{
fin>>n;
back(1);
return 0;
fin.close();
fout.close();
}