hdu3278Puzzle】的更多相关文章

其实最终的结果无非是中间8个方块是相同的颜色,外面16个方块是另外两种颜色.那么其实可以把外面两种颜色看作是0,中间的颜色看做是1. 那么题目就变成了把那种颜色看做1,而其它两种颜色看做0,可以用最少的步骤得到结果. 那么24个方块就可以用24位二进制来标记.那么判重的方式找到了,映射为一个int类型的整数hash 而方块的移动可以看做是位运算的组合,慢慢想想就能够用位运算直接在整数hash上运算,而得到另一个整数. #include <stdio.h> #include <string…