Cod sursa(job #1312698)
Utilizator | Data | 9 ianuarie 2015 20:54:33 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int n,st[100];
bool valid(int p)
{
bool ok=true;
for(int i=1;i<p;++i)
if(st[i]==st[p])
ok=false;
return ok;
}
void afisare(int p)
{
for(int i=1;i<=n;++i)
{g<<st[i];
if(i!=n) g<<" ";}
g<<endl;
}
void back(int p)
{
int pval;
for(pval=1;pval<=n;++pval)
{
st[p]=pval;
if(valid(p))
if(p==n) afisare(p);
else back(p+1);
}
}
int main()
{
f>>n;
back(1);
return 0;
}