Cod sursa(job #1010405)
| Utilizator | Data | 14 octombrie 2013 20:32:23 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.77 kb |
#include <iostream>
#include <fstream>
#define maxn 1073
using namespace std;
int n, *solutii= new int[maxn], *viz= new int[maxn];
ofstream out("permutari.out");
void afisare()
{
for (int i=0;i<n;i++)
out<<solutii[i]<<" ";
out<<"\n";
}
void back(int k)
{
if (k==n)
{
afisare();
return;
}
else
{
for (int i=1;i<=n;i++)
if (!viz[i])
{
solutii[k]=i;
viz[i]=1;
back(k+1);
viz[i]=0;
}
}
}
int main()
{
ifstream in("permutari.in");
in>>n;
for (int i=0;i<=n;i++)
viz[i]=0;
back(0);
}
