http://cxsjsxmooc.openjudge.cn/2018t2fallsum/001/
提示:找出枚举类题目的局部是什么,以小见大求全部,从而避免枚举大量情况
观察:前i个可以推出第i+1个的情况
启示:关注问题本身的解决方案和实现过程,并非案例给的情形拼凑,以及位运算很省空间
#include<memory>
#include<string>
#include<cstring>
#include<cstdio>
#include<iostream>
using namespace std;
char a[40],b[40];
int now=0,change=0,goal=0;
int len;
int ans=40,sumnow=0;
int GetBit(int num, int i)
{
return (num >> i) & 1;
}
int SetBit(int i, int v)
{
int sum=0;
if(v) sum |= (1 << (i));
else sum &= ~(1 << (i));
return sum;
}
void FlipBit(int &change, int i)
{
change ^= (1 << i