Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.98 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. bool safe(vector <int> f, int k, int st) {
  7.     int i;
  8.     for (i = 0; i < k; i++) {
  9.         if (f[i] == st || abs(st - f[i]) == k - i) {
  10.             return 0 == 1;
  11.         }
  12.     }
  13.     return 0 == 0;
  14. }
  15.  
  16. int ferz(vector <int> f, int k, int n) {
  17.     int st;
  18.     st = f[k] + 1;
  19.     if (st == n) {
  20.         if (k == 0) {
  21.             return 0;
  22.         }
  23.         else {
  24.             f[k] = -1;
  25.             return ferz(f, k - 1, n);
  26.         }
  27.     }
  28.     if (safe(f, k, st)) {
  29.         if (k < n - 1) {
  30.             f[k] = st;
  31.             return ferz(f, k + 1, n);
  32.         }
  33.         else {
  34.             f[k]++;
  35.             return 1 + ferz(f, k, n);
  36.         }
  37.     }
  38.     else {
  39.         f[k]++;
  40.         return ferz(f, k, n);
  41.     }
  42. }
  43.  
  44.  
  45. int main() {
  46.     int n, i, j;
  47.     cin >> n;
  48.     vector <int> f(0);
  49.     for (i = 0; i < n; i++) {
  50.         f.push_back(-1);
  51.     }
  52.     cout << ferz(f, 0, n);
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement