Pagini recente » infoarena - comunitate informatica, concursuri de programare | Cod sursa (job #3164965) | Cod sursa (job #924787) | Cod sursa (job #1970990) | Cod sursa (job #298564)
Cod sursa(job #298564)
#include<fstream>
using namespace std;
int perm[9],n;
ofstream out ("permutari.out");
///output permutation
void output()
{
for (int i=1;i<=n;i++)
out<<perm[i]<<" ";
out<<endl;
}
///generate permutations
void generate(int ii)
{
bool skip;
for (int i=1;i<=n;i++) {
///verify if number was used or not
skip=false;
for (int j=1;j<ii;j++)
if (perm[j]==i) skip=true;
if (skip==true) continue;
///verify if limit reached
if (ii-1==n)
skip=true;
///write permutation
if (!skip) {
perm[ii]=i;
if (ii==n) output();
generate(ii+1);
}
}
}
int main()
{
///read n
ifstream in ("permutari.in");
in>>n;
in.close();
///generate permutations
generate(1);
///clean up
out.close();
return 0;
}