Cod sursa(job #675294)
Utilizator | Data | 7 februarie 2012 15:10:12 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.71 kb |
#include<fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int i,n,st[40],p;
void afisare(int p)
{
int i;
for(i=1;i<=p;i++)
g<<st[i]<<" ";
g<<"/n";
}
int valid(int p)
{
int i;
for(i=-1;i<=p;i++)
if(st[p]==st[i]) return 0;
return 1;
}
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;
}