故宫的记忆现场音乐版:急需一个关于八皇后的问题的程序,必须是visualc++的

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/15 17:29:11
最好详细讲解一下.主要是我想弄明白它的算法。

刚写了一个,没有加注释,抱歉。而且过分追求代码长度,效率可能有些低,但不是实质。
//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里面编译不是一样么