UNIX编程的艺术
围棋自动提子的算法
不败的石头
posted @ 2008-04-20 10:20PM
in 编程
Linux 的 Out-of-Memory (OOM) Killer
可以仿照迷宫的算法来编制,假设是白棋提黑子:
1、以白棋当前下的点为例,遍历此白子的四个邻接子(上下左右)
2、如果此邻接子为黑子则分别向它的四个临接点做遍历;如果为白子则返回第1步取下一个邻接子
3、如果遇到白棋,则此个方向的遍历结束,此方向黑棋无气;
4、如果遇到棋盘边界,则此个方向的遍历结束,此方向黑棋无气;
5、如果遇到空(临界点处无棋子),则整个遍历结束,黑棋还有气;
6、如果遇到黑棋,则又向它的三个临接点遍历(去除掉来路的那个临接点),继续执行3-6部,直到遇到结束条件返回;
7、如果4个邻接子都遍历完则结束否则返回第1步,去下一个邻接子。
在整个遍历过程中要记住所有黑棋的位置,在整个遍历结束后,如果不是因为第四种情况结束的,则所有的黑棋将被删除。
