Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <bits/stdc++.h>
- using namespace std;
- const int maxn=1e3;
- int n;
- int check[maxn];
- int x[maxn];
- bool kt()
- {
- for (int i=1;i<=n;i++)
- for (int j=i+1;j<=n;j++)
- if (abs(i-j)==abs(x[i]-x[j]))
- return false;
- return true;
- }
- void backtracking(int k)
- {
- for (int i=1;i<=n;i++){
- if (check[i]==0){
- check[i]=1;
- x[k]=i;
- if (k==n){
- if (kt()==true){
- for (int j=1;j<=n;j++)
- cout<<x[j]<<' ';
- cout<<'\n';
- }
- } else backtracking(k+1);
- check[i]=0;
- x[k]=0;
- }
- }
- }
- int main()
- {
- cin>>n;
- if (n<4)
- cout<<"-1";
- else
- backtracking(1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement