Pagini recente » Cod sursa (job #377652) | Cod sursa (job #2430620) | Cod sursa (job #2412568) | Cod sursa (job #1705729) | Cod sursa (job #1442951)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
// generate permutations
void permute(std::vector<int> a,
std::vector<std::vector<int>::size_type> used,
std::ofstream& fout)
{
if(a.size() == used.size())
{
for(auto& item : used)
{
fout << a[item] << " ";
}
fout << std::endl;
return;
}
for(std::vector<int>::size_type i = 0; i < a.size(); ++i)
{
auto it = std::find(used.begin(), used.end(), i);
if(it == used.end())
{
used.push_back(i);
permute(a, used, fout);
used.pop_back();
}
}
}
int main()
{
std::ifstream fin("permutari.in");
std::ofstream fout("permutari.out");
int n;
fin >> n;
std::vector<int> a {};
std::vector<std::vector<int>::size_type> used = {};
for(int i = 1; i <= n; i++)
{
a.push_back(i);
}
permute(a, used, fout);
return 0;
}