Pagini recente » Cod sursa (job #2108178) | Monitorul de evaluare | Cod sursa (job #54025) | Cod sursa (job #1357005) | Cod sursa (job #650808)
Cod sursa(job #650808)
#include <fstream>
#include <vector>
#define INFILE "permutari.in"
#define OUTFILE "permutari.out"
using namespace std;
ifstream fin(INFILE);
ofstream fout(OUTFILE);
void back(int k, int n, vector<int> &v, vector<bool> &marked)
{
if (n == k) {
for (int i = 0; i<n; ++i)
fout << 1 + v[i] << " ";
fout << endl;
}
else
for (int i = 0; i<n; ++i)
if (!marked[i]) {
marked[i] = true;
v[k] = i;
back(k+1, n, v, marked);
marked[i] = false;
}
}
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);
v.reserve(n);
back(0, n, v, marked);
fout.close();
return 0;
}