n行n棋盘如果两个皇后位于同行或同列或同对角线上为互相攻击。输出n个皇后互不攻击的所有布局。

来源:百度知道 编辑:UC知道 时间:2024/06/05 00:36:33
具体要求如下;
(1)n可由键盘输入。
(2)在输入n后,动态建立方法说明中所需要建立的数组空间;程序运行结束时释放该
存储空间。
(3)分别用n=4,5,6运行你的程序。
最好给出全部答案,谢谢..

这个是经典的8皇后问题升级版
任何一本数据结构与算法的书都有
你可以百度一下
自己编的话,用c++标准容器库里二维向量做很方便

我这有以前写的一个n皇后的代码,但是这里贴不全,需要的话还是qq联系吧,280419517。
以下是主函数部分代码:
#include <iostream>
#include "queen.h"

using namespace std;

int main() {
int queenNumber = 8;
int answerCounter = 0;
char userInput;
bool willContinue = true;

while (willContinue) {
while (true) {
cout << "是否更改Queen的个数(默认值为8)?" << endl << "请键入y或者n,并回车确认:";
cin >> userInput;
if (userInput == 'y' || userInput == 'Y') {
cout << endl << "您选择了更改Queen的个数!" << endl << "请输入Queen的个数,并回车确认:";
cin >> queenNumber;
break;
}
else if (userInput == 'n' || userInput == 'N') {
queenNumber = 8;
break;
}
else {
cout << endl <&