要求用回溯法求解8皇后问题,使放置在8*8棋盘上的8个皇后彼此不受攻击,即:任何两个皇后都不在同一行、同一列或同一斜线上。请输出8皇后问题的所有可行解。
#include<iostream> #include<cmath> using namespace std; bool Place(int k,int i, int *x) { for(int j=0;j<k;j++) if((x[j]==i) ||______(1)________) return false; return true; } void NQueens(int k, int n, int* x) { for(int i=0;i<n;i++) { if(Place(k,i,x)) { _____(2)________ if(______(3)______) { for(int j=0;j<n;j++) cout<<x[j]<<" "; cout<<endl; } else { ______(4)_______ } } } } int main() { int x[8]; for(int i=0;i<8;i++) x[i]=-1; _____(5)______ return 0; }