Cod sursa(job #677857)
| Utilizator | Data | 10 februarie 2012 19:09:16 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include<fstream>
using namespace std;
#define NMAX 10
int n;
int sol[NMAX];
bool v[NMAX];
ofstream fout("permutari.out");
void read()
{
ifstream fin("permutari.in");
fin>>n;
fin.close();
}
void write()
{
int i;
for (i=1; i<=n; ++i)
fout<<sol[i]<<" ";
fout<<'\n';
}
void permutari(int poz)
{
int i;
if (poz == n+1)
write(); else
for (i=1; i<=n; ++i)
if ( ! v[i] )
{
v[i] = 1;
sol[poz] = i;
permutari(poz+1);
v[i] = 0;
}
}
int main()
{
read();
permutari(1);
return 0;
}
