Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- bool safe(vector <int> f, int k, int st) {
- int i;
- for (i = 0; i < k; i++) {
- if (f[i] == st || abs(st - f[i]) == k - i) {
- return 0 == 1;
- }
- }
- return 0 == 0;
- }
- int ferz(vector <int> f, int k, int n) {
- int st;
- st = f[k] + 1;
- if (st == n) {
- if (k == 0) {
- return 0;
- }
- else {
- f[k] = -1;
- return ferz(f, k - 1, n);
- }
- }
- if (safe(f, k, st)) {
- if (k < n - 1) {
- f[k] = st;
- return ferz(f, k + 1, n);
- }
- else {
- f[k]++;
- return 1 + ferz(f, k, n);
- }
- }
- else {
- f[k]++;
- return ferz(f, k, n);
- }
- }
- int main() {
- int n, i, j;
- cin >> n;
- vector <int> f(0);
- for (i = 0; i < n; i++) {
- f.push_back(-1);
- }
- cout << ferz(f, 0, n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement