八皇后 答案

我使用的穷举法 java写的

 class MyQueen{
 public static void main(String[] args){
  int count=0;
  for(int row1=1; row1<=8; row1++){
   for(int row2=1; row2<=8; row2++){
    for(int row3=1; row3<=8; row3++){
     for(int row4=1; row4<=8; row4++){
         for(int row5=1; row5<=8; row5++){
       for(int row6=1; row6<=8; row6++){
        for(int row7=1; row7<=8; row7++){
         for(int row8=1; row8<=8; row8++){
          if(row2!=row1&&row2!=row1-1&&row2!=row1+1&&row3!=row1&&row3!=row1-2&&row3!=row1+2&&row4!=row1&&row4!=row1-3&&row4!=row1+3&&row5!=row1&&row5!=row1-4&&row5!=row1+4&&row6!=row1&&row6!=row1-5&&row6!=row1+5&&row7!=row1&&row7!=row1-6&&row7!=row1+6&&row8!=row1&&row8!=row1-7&&row8!=row1+7)
           if(row3!=row2&&row3!=row2-1&&row3!=row2+1&&row4!=row2&&row4!=row2-2&&row4!=row2+2&&row5!=row2&&row5!=row2-3&&row5!=row2+3&&row6!=row2&&row6!=row2-4&&row6!=row2+4&&row7!=row2&&row7!=row2-5&&row7!=row2+5&&row8!=row2&&row8!=row2-6&&row8!=row2+6)
            if(row4!=row3&&row4!=row3-1&&row4!=row3+1&&row5!=row3&&row5!=row3-2&&row5!=row3+2&&row6!=row3&&row6!=row3-3&&row6!=row3+3&&row7!=row3&&row7!=row3-4&&row7!=row3+4&&row8!=row3&&row8!=row3-5&&row8!=row3+5)
             if(row5!=row4&&row5!=row4-1&&row5!=row4+1&&row6!=row4&&row6!=row4-2&&row6!=row4+2&&row7!=row4&&row7!=row4-3&&row7!=row4+5&&row8!=row4&&row8!=row4-4&&row8!=row4+4)
              if(row6!=row5&&row6!=row5-1&&row6!=row5+1&&row7!=row5&&row7!=row5-2&&row7!=row5+2&&row8!=row5&&row8!=row5-3&&row8!=row5+3)
               if(row7!=row6&&row7!=row6-1&&row7!=row6+1&&row8!=row6&&row8!=row6-2&&row8!=row6+2)
                if(row8!=row7&&row8!=row7-1&&row8!=row7+1){
                 count++;
                }
         }
        }
       }
      }
     }
    } 
   }
  }
 System.out.println("totle:"+ count);
 }


}

答案是:98种

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值