Cod sursa(job #696791)
| Utilizator | Data | 28 februarie 2012 20:06:51 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include<cstdio>
#include<vector>
using namespace std;
int n;
int v[8];
vector<int>a;
void afisare()
{
vector<int>::iterator it;
for(it=a.begin();it!=a.end();it++)
printf("%d ",*it);
printf("\n");
}
void bkt(int k)
{
int i;
if(k==n)
afisare();
else
for(i=1;i<=n;i++)
if(v[i]==0)
{
a.push_back(i);
v[i]=1;
bkt(k+1);
v[i]=0;
a.pop_back();
}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d", &n);
bkt(0);
return 0;
}
