Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Перестановки
- void swap(int &a, int &b) {
- int temp = a;
- a = b;
- b = temp;
- }
- // Это чтобы показывать перестановки
- void print_permutation(int arr[], int size) {
- for (int i = 0; i < size; ++i) {
- std::cout << arr[i] << " ";
- }
- std::cout << std::endl;
- }
- // Производить перестановки
- void generate_permutations(int arr[], int size, int n) {
- if (size == n) {
- print_permutation(arr, n);
- } else {
- for (int i = size; i < n; ++i) {
- swap(arr[size], arr[i]);
- generate_permutations(arr, size + 1, n);
- swap(arr[size], arr[i]); // backtrack
- }
- }
- }
- int main() {
- int n;
- std::cout << "Enter the number of elements: ";
- std::cin >> n;
- int arr[n];
- for (int i = 0; i < n; ++i) {
- arr[i] = i + 1;
- }
- generate_permutations(arr, 0, n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement