Pagini recente » Monitorul de evaluare | Cod sursa (job #2020149) | Cod sursa (job #2005402) | Cod sursa (job #2016785) | Cod sursa (job #650813)
Cod sursa(job #650813)
#include <fstream>
#define INFILE "permutari.in"
#define OUTFILE "permutari.out"
using namespace std;
ifstream fin(INFILE);
ofstream fout(OUTFILE);
void back(int k, int n, char *v, 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;
char *v;
bool *marked;
fin >> n;
fin.close();
v = new char[n];
marked = new bool[n];
back(0, n, v, marked);
delete v;
delete marked;
fout.close();
return 0;
}