NQueen

作者: KeDaiBiaO1 | 来源:发表于2017-10-19 10:47 被阅读0次

遍历 分别把第一个Q在第(1-n)列的n种情况,每种情况都把所有解求出

思路是:
先在第一行第一列放入Q,然后直接到第二列放入Q(符合规则),当符合规则后,就会把Q放入第二行,同时也会 列+1,继续dfs。
如果validate在某一列都不符合规则的时候就结束(没有结果,递归回溯)
validate(board, x, y)
需要注意的是:
y是被减一了,也就是只把第y列之前的所有结点全部遍历(遍历第0 - y-1的)前y-1列的结点

当board[i][j]中有Q,然后判断当前位置([x][y])是否符合和[i][j] 不在正对角线,不在反对角线,不在同行(肯定不在同一个结点,因为只遍历当前结点前面的行)
x y 是当前要验证的一个结点是否可以放入Q,
x+j= y+i

相关文章

  • 算法随笔

    Prime Fibonacci Eculid NQueen

  • NQueen

    遍历 分别把第一个Q在第(1-n)列的n种情况,每种情况都把所有解求出 思路是:先在第一行第一列放入Q,然后直接...

网友评论

      本文标题:NQueen

      本文链接:https://www.haomeiwen.com/subject/hcueuxtx.html