Advertisement
OIQ

rayon4

OIQ
Nov 22nd, 2019
165
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. #include <stdio.h>
  5.  
  6. using namespace std;
  7.  
  8. int main() {
  9.  
  10.     int n, t, tmp;
  11.  
  12.     cin >> n >> t;
  13.  
  14.     vector <int> a(n, 0);
  15.  
  16.     for (int i = 1; i < n + 1; i++)
  17.         a[i-1] = i;
  18.  
  19.     if (n % 2 == 0) {
  20.         for (int i = 0; i < n; i += 2) {
  21.             tmp = a[i];
  22.             a[i] = a[i + 1];
  23.             a[i + 1] = tmp;
  24.         }
  25.     }
  26.     else {
  27.         for (int i = 0; i < n-1; i += 2) {
  28.             tmp = a[i];
  29.             a[i] = a[i + 1];
  30.             a[i + 1] = tmp;
  31.         }
  32.  
  33.         tmp = a[n - 1];
  34.         a[n - 1] = a[n - 2];
  35.         a[n - 2] = tmp;
  36.     }
  37.  
  38.     for (int i = 0; i < n; i++)
  39.         printf("%d ", a[i]);
  40.     printf("\n");
  41.  
  42.  
  43.     int c = 1;
  44.     bool f = false;
  45.     while (c != t) {
  46.         f = false;
  47.         next_permutation(a.begin(), a.end());
  48.         for (int i = 0;i < n; i++)
  49.             if (a[i] == i + 1) {
  50.                 f = true;
  51.                 break;
  52.             }
  53.  
  54.         if (!f) {
  55.             for (int i = 0; i < n; i++)
  56.                 printf("%d ", a[i]);
  57.             printf("\n");
  58.             c++;
  59.         }
  60.        
  61.     }
  62.  
  63.  
  64.     return 0;
  65. }
Advertisement
RAW Paste Data Copied
Advertisement