![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二进制
幼儿园大哥~
笑口常开,好彩自然来
展开
-
POJ 1753 Flip Game(二进制枚举)
传送门 题目大意 有一个4*4的方格,每个方格中放一粒棋子,这个棋子一面是白色,一面是黑色。游戏规则为每次任选16颗中的一颗,把选中的这颗以及它四周的棋子一并反过来,当所有的棋子都是同一个颜色朝上时,游戏就完成了。现在给定一个初始状态,要求输出能够完成游戏所需翻转的最小次数,如果初始状态已经达到要求输出0。如果不可能完成游戏,输出Impossible。 思路 直接二进制枚举所有状态就好 代码 string cc[10]; int vis[10][10];//b++; int solve(int num){原创 2020-12-02 21:17:08 · 132 阅读 · 0 评论 -
POJ 2436 Disease Management(二进制枚举+位运算)
传送门 题目大意 给出n头牛的得病的种类情况,一共有d种病,要求找出最多有K种病的牛的数目; 思路 因为d<15,所以可以进行二进制枚举,枚举这个病存在或者不存在,1存在,0不存在,然后和每头牛进行或运算,如果或运算之后还相等,那就说明这头牛携带病毒中类小于等于当前病毒种类,那么cc++,最后取个最大值就好了。 注意 位运算优先级,卡了好久… 代码 int cow[maxn]; int check(int num){ int count=0; while(num){ num原创 2020-12-02 19:13:29 · 117 阅读 · 0 评论