Pagini recente » Cod sursa (job #358488) | Cod sursa (job #552667) | Cod sursa (job #156872) | Cod sursa (job #3241540) | Cod sursa (job #1563550)
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
const char* IN = "permutari.in";
const char* OUT = "permutari.out";
const int MAX_SIZE = 10;
int n;
bool used[MAX_SIZE];
class StaticStack {
private :
int a[MAX_SIZE];
int size;
public :
StaticStack(){};
~StaticStack(){};
int getItem(int pos){
return a[pos];
}
void push(int value){
a[++size] = value;
}
void print(){
for (int i=1;i<=size;++i)
cout<<a[i]<<" ";
cout<<endl;
}
void pop(){
--size;
}
} Stack;
void nextPermutation(int pos){
if (pos>n){
Stack.print();
return;
}
for (int i=1;i<=n;++i)
if (!used[i]){
used[i] = 1;
Stack.push(i);
nextPermutation(pos+1);
Stack.pop();
used[i] = 0;
}
}
int main(void){
ifstream cin(IN);
ofstream out(OUT);
cin>>n;
nextPermutation(1);
return 0;
}