递归算法举例3.pptVIP

  • 29
  • 0
  • 约1.88万字
  • 约 68页
  • 2017-02-01 发布于天津
  • 举报
递归算法举例3

为了判断安全条件,在程序中要用到三个数组: (1)C[ j ] 为整型的,j = 1,2,…,8,初始化时全部 置为 1; (2)L[ k ] 为整型的,k = i - j +9, k = 2,3,…,16, 初始化时全部置为 1; (3)R[ m ] 为整型的, m = i + j, m = 2,3,…,16,初始化时全部置为 1; * 3、从思路上,在放第 i 个皇后时(当然在第 i行),选第 j 列,当 nq 为 1 时,就可将皇后放在 ( i, j ) 位置,这时做如下 3 件事 (1)放皇后q[ i ] = j,同时让第 j 列和过 ( i, j ) 位置的两条对角线变为不安全。即让 C[ j ] = 0; L[ i-j+9] = 0; R[ i+j ] = 0; 在放第 i 个皇后时(当然在第 i行),选第 j 列,当 nq 为 1 时,就可将皇后放在 ( i, j ) 位置,这时做如下 3 件事: (1)放皇后q[ i ] = j,同时让第 j 列和过 ( i, j )位置的两条对角线变为不安全。即让C[ j ] = 0; L[ i-j+9] = 0; R[ i+j ] = 0; (2)之后查一下 i 是否为 8,如果为8,则表明已经放完8个皇后,这时让方案数 Num 加 1,输出该方案下 8个皇后在棋盘上的位置。否则,未到 8

文档评论(0)

1亿VIP精品文档

相关文档