搜索 棋盘问题

来源:互联网 发布:周扬青 淘宝 编辑:程序博客网 时间:2024/06/05 18:47

棋盘问题

很有趣的问题呢。有一个n*m的棋盘,棋盘的格子非黑即白。
有任意量1*3的骨牌,是这样子↓
黑白黑

黑格子对应黑格子,白格子对应白格子
问,能否把棋盘填满

我们这样子想,对于左上角这个角落,只可能是以下几种情况,
左上角为黑,无解
左上角为白:
白白
白//无解
白黑
白//唯一解
白白
黑//唯一解
白黑
黑//无解
对于每种情况,答案是唯一的。
OK,这样,处理完每个角落后都会新产生若干角落,搜索即可。
本题实现起来需要讨论多种情况,代码实现很难,务必要写一下。

原创粉丝点击