Queen(){num=-1;}
void Print(int n);//输出皇后的排列,打出的数字为每个皇后的坐标 int Check(int i,int k);//判断位置是否符合要求 void Queens(int k,int n);//递归调用 int count();//计数
private: int q[N]; int num; };
void main() { Queen Q;
int n;
cout<<\"请输入Queen的数目(n>0):\"< cout<<\"共有 \"< cout<<\"ERROR输入数字错误\"< void Queen::Queens(int k,int n)//计算出皇后的排列,k是当前皇后数量,n是数量上限 { int i; if(k>n)//如果达到里要求的数量输出皇后排列 { count(); Print(n); } else //否则在适当的位置添加一个新皇后 { for(i=1;i<=n;i++) if(Check(i,k)) //判断该行中该位置放置'皇后'是否符合要求 { q[k]=i; //记录改行中该点的位置 Queens(k+1,n); //放置下一行的'皇后' } } } void Queen::Print(int n) { } int Queen::Check(int i,int k) { } int Queen::count() { } num++; return num; int j; j=1; while(j return 0; //不符合返回0 int i,j; for(i=1;i<=n;i++) { cout< } } cout< return 1; //符合返回 因篇幅问题不能全部显示,请点此查看更多更全内容