本文介绍: 可能出现b0即可。其实b是多少不重要,重要的是我们能用b来唯一确定这条对角线,作为一个唯一表示,来映射出这条直线。用数组剪枝一下,填的时候还要注意得能填,不能填的位置不能填,实现剪枝的效果。所以我们可以遍历每一行的所有列,只要在这个点放了皇后,那么直接进入下一行。能填的情况:这一行,这一列,这一正对角线,这一反对角线都无皇后。那么反对角线 y = –x +b 所以b = x+y;正对角线 b = y-x。
n 皇后
前置知识:
因此,可以由 b = y-x 得到不同的对角线直线函数(我们假设这些直线的斜率都是1)
那么反对角线 y = -x +b 所以b = x+y;
正对角线 b = y-x
优化版本:
原始暴力版
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。