Cod sursa(job #688834)
Utilizator | Data | 23 februarie 2012 21:27:25 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include<fstream>
using namespace std;
int st[100],n,p;
fstream f("permutari.in",ios::in);
fstream g("permutari.out",ios::out);
void tipar()
{
int i;
for(i=1;i<=p;i++) g<<st[i]<<" ";
g<<endl;
}
int valid()
{
int ok=1;
for(int i=1;i<p;i++)
{if(st[i]>st[p])ok=0;}
return ok;
}
void back(int p)
{if(p==n+1) tipar();
else for(int i=1;i<=n;i++)
{st[p]=i; if(valid()) back(p+1);}
}
int main()
{
f>>n;
back(1);
}