八皇后问题算法与实现.pdfVIP

  • 2
  • 0
  • 约4.83千字
  • 约 6页
  • 2026-10-22 发布于北京
  • 举报

八皇后问题(N皇后问题)

题目

题目难度:

知识点:算法

课程时长:30分钟

题目描述

八皇后问题是在一个8*8的棋盘上放置皇后,要求其放置后满足同一行,同一列,同一对角线上没有重

复的皇后出现。试问有多少种摆盘方式?

解题思路

我们的主要思路是通过一行一行的放置皇后,来使得每一行都有一个皇后。当然,这些皇后在放置时都

必须要满足规定的要求才行。

因此就会出先如下情况:

放置时不符合规则,继续检索同一行的下一列位置是否合理

如果符合规则就将其放置,然后进行下一行的尝试(递归)

如果有某一行没有可行的解,则退回上一行,消除上一行摆放的皇后,检索剩余的列,看是否有合

理的位置,然后继续进行。(回溯)

直到所有的行都被放置为止。

注意的情况

需要注意的是,我们在放置皇后时需要检测其防止和理性的判断条件为:

1.同一列的上方所有行中是否有皇后

2.左上方对角线上是否有皇后

3.右上方对角线上是否有皇后

算法实现(java)

publicclassEightQueen{

privatestaticfinalintnum=8;//可以拓展为N皇后问题

privatestaticint[][]item

文档评论(0)

1亿VIP精品文档

相关文档