估计没贪心
#include <iostream>
#include<cstring>
#include<stdio.h>
#include<math.h>
#include<cmath>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
char a[30];
char b[30];
gets(a);
gets(b);
int i,j,p,n=0;
p=strlen(a);
for(i=0;i<p-1;i++){
if(i==0){
if(a[i]==b[i])
continue;
for(j=0;j<2;j++){
if(a[j]==48)
a[j]=49;
else
a[j]=48;
}
n++;
continue;
}
if(a[i]!=b[i]&&i!=p-2){
for(j=0;j<3;j++)
{
if(a[j+i]==48)
a[j+i]=49;
else
a[j+i]=48;
}
n++;
}
if(a[i]!=b[i]&&i==p-2){
for(j=0;j<2;j++)
{
if(a[j+i]==48)
a[j+i]=49;
else
a[j+i]=48;
}
n++;
}
}
for(i=0;i<p;i++)
if(a[i]!=b[i])
break;
if(i==p)
cout <<n;
else
cout <<"impossible";
}
需改进