C++ 八皇后问题
zxz87 2007-11-29 08:44:47
#include <iostream>
#include <cmath>
using namespace std;
void queen(int row, int col)
{
static int queen_col[8],count = 0,i;
for (i = 0;i < row;i ++) if (col == queen_col[i] || row - i == abs(queen_col[i]-col)) return;
queen_col[row]=col;
if (row<7) for (int i=0;i<8;i++) queen(row+1,i);
else {
cout<<'('<<++count<<')'<<endl;
for (i=0;i<8;i++) {
for (int j=0;j<8;j++) cout<<(j==queen_col[i]);
cout<<endl;
}
cin.get();
}
}
void main()
{
for (int i=0;i<8;i++) queen(0,i);
}
麻烦哪位能把以上八皇后的代码解释一下或添加一下注释,谢谢