Pagini recente » Cod sursa (job #3164034) | Cod sursa (job #2143125) | Istoria paginii preoni-2007/runda-finala/poze/deschidere | Cod sursa (job #936436) | Cod sursa (job #936654)
Cod sursa(job #936654)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n;
vector<int> a;
void generate(int i)
{
for (int j = 0; j < n; ++j)
fout << a[j] << ' ';
fout << '\n';
for (int j = n-2; j >= i; --j) {
for (int k = j+1; k < n; ++k) {
swap(a[j],a[k]);
generate(j+1);
}
int tmp = a[j];
for (int k = j+1; k < n; ++k)
a[k-1] = a[k];
a[n-1] = tmp;
}
}
int main() {
fin >> n;
a.resize(n);
for (int i = 0; i < n; ++i)
a[i] = i+1;
generate(0);
return 0;
}