萌新整活个题解呜呜呜
Flip Game
http://www.nowcoder.com/questionTerminal/ae592ac9a81a49c4b870cacbfcbc86f5
这个题其实还比较好想,就直接枚举第一行或者第一列就行了。
题目其实有两个点在放水,一个是题目自己给定是个4x4的,第二个是只有一组输入,时间不算爆炸。
我就直接了。。。直接枚举的第一行的情况,使用一点儿位运算,for循环i从0-31,按位判断每一位是不是1,是的话就在原先的二维vector中的相应位置进行多个十字翻转,第一行枚举完了底下的行就挨着根据上一行判断自己这行该怎么翻转,剩下的两种可能都要考虑,一种考虑都按照白色翻转,一种黑色。最后判断最下面那行,如果满足同一颜色就更新结果ans。
当然还有一点儿要提,就是咱用vector的时候写了个change函数用来交换1和0,(要是用bool数组就没得问题了,我这不是傻傻的写完了int型嘛),这个交换函数一定要传引用哇,当时用引用de了半个小时,直接裂开了。
代码的话随便找个提交的老铁看看就行了呜呜呜。