8后问题要求在一个8*8格的棋盘上放置8个皇后,使得他们彼此不受攻击。按照国际象棋的规则,一个皇后可以攻击与之处在同一行或同一列或同一斜线上的其他任何棋子。因此,8后问题等价于要求在一个8*8的棋盘上放置8个皇后,使得任何2个皇后不能被放在同一行或同一列或同一斜线上。
int Queen8()
{
int count = 0;
for(int q1=0;q1<8;q1++)
{
for(int q2=0;q2<8;q2++)
{
if(q1==q2 || q1+1==q2 || q1-1==q2)
{
continue;
}
for(int q3=0;q3<8;q3++)
{
if(q1==q3 || q1+2==q3 || q1-2==q3 ||
q2==q3 || q2+1==q3 || q2-1==q3)
{
continue;
}
for(int q4=0;q4<8;q4++)
{
if(q1==q4 || q1+3==q4