Pagini recente » Cod sursa (job #757975) | Cod sursa (job #2865677) | Cod sursa (job #108730) | Cod sursa (job #233017) | Cod sursa (job #650805)
Cod sursa(job #650805)
#include <fstream>
#include <vector>
#define INFILE "permutari.in"
#define OUTFILE "permutari.out"
using namespace std;
ifstream fin(INFILE);
ofstream fout(OUTFILE);
void back(int n, vector<int> &v, vector<bool> &marked)
{
if (n == v.size()) {
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it)
fout << 1 + *it << " ";
fout << endl;
}
else
for (int i = 0; i<n; ++i)
if (!marked[i]) {
marked[i] = true;
v.push_back(i);
back(n, v, marked);
marked[i] = false;
v.pop_back();
}
}
int main()
{
int n;
vector<int> v;
vector<bool> marked;
fin >> n;
fin.close();
for (int i = 0; i<n; ++i)
marked.push_back(false);
back(n, v, marked);
fout.close();
return 0;
}