亿华智慧云亿华智慧云

利用 MySQL 解八皇后问题

利用 MySQL 解八皇后问题
复制num = 0  def is_ok(queen,利用 row):      for r in range(1, row):          # 第 r 行与第 row 行皇后在同一列,冲突          if queen[r] == queen[row]:              returnFalse         t = abs(queen[r] - queen[row])          # 第 r 行与第 row 行皇后在同一斜线,皇后冲突          # 如果 2 个皇后所在位置的问题行差与列差相同,源码库则在同一斜线          if t == abs(r - row):              returnFalse     returnTrue def find(queen,利用 row):      global num      # 每一行都从第一列到第八列进行尝试      for col in range(1, (8+1)):          queen[row] = col          # 判断是否满足条件          if is_ok(queen, row):              if row == 8:                  num += 1                  return             # 如果没有到第八行,则继续递归              find(queen,皇后 row + 1)  # Python列表下标从0开始,站群服务器为了从1开始,问题所以这样  queen = [0,利用1,2,3,4,5,6,7,8]  find(queen, 1)  print(result is , num)  1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.
赞(14236)
未经允许不得转载:>亿华智慧云 » 利用 MySQL 解八皇后问题