龙江镇.顺德:急需一个关于八皇后的问题的程序,必须是visualc++的

来源:百度文库 编辑:神马品牌网 时间:2024/04/24 08:38:31
最好详细讲解一下.主要是我想弄明白它的算法。

刚写了一个,没有加注释,抱歉。而且过分追求代码长度,效率可能有些低,但不是实质。
//8 queens
#include <iostream>
#include <algorithm>
using namespace std;
void main(){
char a[]="12345678";
while(next_permutation(a,a+8)){
bool ok=true;
for(int i=0;i<7;i++)
for(int j=i+1;j<8;j++)
if(abs(a[i]-a[j])==j-i)
ok=false;
if(ok) cout << a <<endl;
}
}

supplyment:
例如答案15863724的意思是8个皇后分别放在第一列的第1行,第二列的第5行。。。
哦,对了,以上的算法是暴力枚举法。

随便搜一个C或C++的,放在VC里面编译不是一样么