随手写的居然过了,代码挺简单的,没写解析,感兴趣的可以看看
include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
using namespace std;
const int N = 100;
int state[N];
int cnt = 0;
void test(int h[], int x, int n)//从第x个位置开始找,n为字符个数
{
for(int i = x; i < n; i)
{
if(h[i]==1)
{
h[i] = 0;h[i+1] ^= 1;
cnt;
test(h,x+1,n);
return;
}
}
}
int main()
{
char a[N] , b[N];
cin >> a >> b;
int n = strlen(a);
for(int i = 0; i < n; i++)//1表示要翻转
{
if(a[i]==b[i])
{
state[i] = 0;
}
else
{
state[i] = 1;
}
}
test(state,0,n);
printf(“%d”,cnt);
return 0;
}