Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int n, p, sol[10], m, c.p, k;
- int main()
- {
- cin >> n >> p;
- sol[1] = p;
- sol[n] = p;
- back(2);
- return 0;
- }
- int evalid(int k)
- {
- for (int i = 1; i < k; i++)
- {
- if (sol[i] == sol[k])
- return false;
- if (abs(sol[i] - sol[i + 1]) != 1)
- return
- }
- return true;
- }
- void back(int k)
- {
- if (k > n)
- afis();
- else
- for (int i =n; i >= 1; i--)
- {
- sol[k] = i;
- if (evalid(k))
- back (k + 1);
- }
- }
- void afis()
- {
- for (int i = 1; i <= n; i++)
- cout << sol[i] << " ";
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement