程序员面试题精选100题(58)-八皇后问题
题目:在8×8的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后不得处在同一行、同一列或者同一对角斜线上。下图中的每个黑色格子表示一个皇后,这就是一种符合条件的摆放方法。请求出总共有多少种摆法。
从第一行开始放皇后,那么就不需要判断行是否安全,因为肯定安全,所以只需要判断该列是否安全,而且改对角线是否安全
col[0..7] 用true或者false表示
左对角线right[i+j],因为向左移就要向下移,一加一减总数没变
右对角线left[i-j]--为了避免出现负数 left[i-j+8]