Pagini recente » Cod sursa (job #2063763) | Cod sursa (job #788764) | Cod sursa (job #3318616) | Cod sursa (job #3306560) | Cod sursa (job #3355223)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
void backtrack(int n,vector<bool>& used,vector<vector<int>>& result,vector<int>& current){
if(current.size()==n){
result.push_back(current);
return;
}
for(int i=1;i<=n;i++){
if(!used[i]){
used[i]=true;
current.push_back(i);
backtrack(n,used,result,current);
used[i]=false;
current.pop_back();
}
}
}
void permutations(int n){
vector<vector<int>> result;
vector<int> current;
vector<bool> used(n,false);
backtrack(n,used,result,current);
for(int i=0;i<result.size();i++){
for(int j=0;j<result[i].size();j++)
fout<<result[i][j]<<" ";
fout<<endl;
}
}
int main(){
int n;
fin>>n;
permutations(n);
return 0;
}