Pagini recente » Cod sursa (job #2700686) | Cod sursa (job #2490295) | Cod sursa (job #2386704) | Cod sursa (job #2424585) | Cod sursa (job #1637212)
#include <fstream>
#include <algorithm>
using namespace std;
int n;
vector<char> x;
vector< vector<char> > p;
void bkt(int i) {
x.push_back(i + '1');
for(int j = 0; j <= i; j ++) {
char aux = x[i]; x[i] = x[j]; x[j] = aux;
if(i == n - 1) {
p.push_back(x);
}
else bkt(i + 1);
aux = x[i]; x[i] = x[j]; x[j] = aux;
}
x.pop_back();
}
bool cmp(char A[10], char B[10]) {
for(int i = 0; i < n; i ++) {
if(A[i] > B[i]) return true;
else if(A[i] < B[i]) return false;
}
}
int main()
{
ifstream f("permutari.in");
ofstream g("permutari.out");
f >> n;
bkt(0);
sort(p.begin(), p.end());
for(int i = 0; i < p.size(); i ++) {
for(int j = 0; j < n; j ++)
g << p[i][j] << " ";
g << "\n";
}
return 0;
}