Cod sursa(job #960543)
Utilizator | Bucevschi Alexandru alex_bucevschi | Data | 10 iunie 2013 18:22:41 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n,i,j,st[1010];
void bktr(int);
void afisare();
int valid(int);
int main()
{
fin>>n;
bktr(1);
return 0;
}
void bktr(int p)
{
int i;
for(i=1;i<=n;i++)
{
st[p]=i;
if(valid(p))
{
if(p==n)
afisare();
else
bktr(p+1);
}
}
}
int valid(int q)
{
for(i=1;i<q;i++)
if(st[q]==st[i])
return 0;
return 1;
}
void afisare()
{
int nr;
for(i=1;i<=n;i++)
{
fout<<st[i]<<" ";
}
fout<<"\n";
}