摘要: 不错的搜索题,原题目如下:http://poj.org/problem?id=1753问题就是翻转棋,反当前这个会引起其周围棋子的变化,就是取反的过程。问你经过一个最小反转次数能否得到全都是黑棋,或全是白棋的情况,如果不能,输出impossible。分析一看就知道是搜索,每个棋两种状态,那么共有2^16=65536种状态,所以想到了位运算。用每个二进制位代表棋子,定义坐标和第i个棋子的转换方法(代码中有,不再多说)。利用xor运算进行变换(xor 0则不变,xor 1 则取反)。开一个哈希表判重,即可。codeView Code program liukee;type lkj=record l 阅读全文
posted @ 2011-02-24 08:28 liukee 阅读(265) 评论(0) 推荐(0) 编辑