Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <fstream>
- #include <algorithm>
- using namespace std;
- void perm(vector<int> num, int n, int pos, vector<vector<int>> &perms) {
- if (pos >= n) {
- perms.push_back(num);
- return;
- }
- else {
- for (int i = pos; i < n; i++) {
- swap(num[i], num[pos]);
- perm(num, n, pos + 1, perms);
- swap(num[i], num[pos]);
- }
- }
- }
- int main() {
- unsigned int n;
- ifstream inp("input.txt");
- inp >> n;
- inp.close();
- vector<int> p(n);
- vector<vector<int>> perms;
- ofstream out("output.txt");
- for (int i = 0; i < n; ++i)
- p[i] = i + 1;
- perm(p, n, 0, perms);
- sort(perms.begin(), perms.end());
- for (int i = 0; i < perms.size(); ++i) {
- for (int j = 0; j < n; ++j) {
- out << perms[i][j] << ' ';
- }
- out << "\n";
- }
- out.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement