姗姗莱咫 发表于 2013-4-6 01:05:15

关于八皇后问题有一点不懂求大神!!!

看了关于小甲鱼老师的八皇后代码,里面有一步不懂就是
if( notDanger(row, j, chess) ){
                                for(i=0;i<8;i++){
                                        *(*(chess2+row)+i) = 0;
                                }
                                *(*(chess2+row)+j) = 1;
                                EightQueen(row+1,n,chess2);
}

里面为什么要用一个for循环把一行全部设置为0呢?*(*(chess2+row)+i) = 0?为什么?

小亮1201 发表于 2013-4-6 18:02:08

有点犯浑,嘿嘿!

bubblefish 发表于 2013-6-1 03:18:14

同求大牛解释

bafengao 发表于 2013-6-1 13:21:57

我只是路过打酱油的。

易道 发表于 2013-6-4 20:35:52

水军路过只为等级

_DEBUG 发表于 2014-1-21 11:27:22

因为上一次循环可能已经把这一行的某个元素置1,不清零可能会影响下一次递归调用(填写下一行)时的notDanger判断。不过其实也可以不一行全清

821655640 发表于 2014-10-13 20:01:26

那个循环不用写的,因为满足条件的矩阵 列上一定没有1

无害虫 发表于 2014-10-14 12:29:15

这个不懂啊啊啊啊啊

请问11 发表于 2014-10-23 17:51:00

{:1_1:}
页: [1]
查看完整版本: 关于八皇后问题有一点不懂求大神!!!