解决思路
上一篇文章描写的八皇后问题中,一个难点就在于如何判断棋盘上指定位置的对角线上是否已经有皇后棋子。
这个问题的实质是如何在一个有限二维平面(8*8)上遍历一个指定坐标点(x,y)的对角线上的所有点。
注:平面的坐标系,y轴横向右侧延伸(→),x轴在y轴下侧竖向下延伸(↓)
一个点的对角线有四个方向,分别是左上、右上、左下、右下
如果用坐标的变化趋势来表示这四个方向的话,这个问题就显得一目了然了:
- 左上:x轴坐标与y轴坐标相对于点(x,y)都在递减
- 右上:x轴坐标在递减,y轴坐标在递增
- 左下:x轴坐标在递增,y轴坐标在递减
- 右下:x轴坐标与y轴坐标相对于点(x,y)都在递增……