请牛人 进来 看下这个难题!
佩格棋大家应该听说过吧。5*5的棋盘
OO...
OO...
.....
.....
.....
.....
.OOOO
.OOOO
.O.OO
.OO.O
OOOOO
OOOOO
OO.O.
.OOOO
OO.O.
OO.OO
.OOO.
OO.OO
OOOOO
..O..
OO.OO
OOOOO
OOOOO
OO.OO
OOOOO
这5个是棋盘,期中“0”代表棋子, “ .”代表棋盘空的地方,
游戏规则:棋子 只能 隔着 另一个棋子 跳。跳过的棋子被吃掉,变成“ . ” 跳之前的位置变成“ . ”, 跳到的位置变成“0”。
剩下最后一个棋子就算 有解。
跳法 例如:00. ---》 ..0
要求:只用C语言做。 要电脑自己走棋。注意:不是让玩家来走。电脑自动走。 如果这盘棋有解,也就是最后只剩一个棋子,其他的棋子全被吃掉。
那么最后这个棋子必须在棋盘的中央位置。5*5的棋盘。然后要求测试每盘棋运行的时间,也就是走到最后一步要多久。应该用到遍历和广度优先吧。
这个完整的算法我想不出。以上5个棋盘的形式,要求用文件来输入。
请强人来帮忙啦,,谢谢各位了。
[此贴子已经被作者于2007-11-20 5:14:19编辑过]