1、问题描述
2、仅贪心算法即可,由高位到低位逐位变化,并判断。
#include <iostream>
#include<cstring>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
#define maxn 100000
char s[maxn];
char t[maxn];
char l[maxn];
int ss,st;
bool comp(){
int n=0;
ss=0;
st=0;
while(s[n]!='\0'){
if(s[n]!=l[n])ss++;
if(t[n]!=l[n])st++;
n++;
}
if(ss==st)return true;
else return false;
}
int main(int argc, char** argv) {
cin.getline(s,sizeof(s));
cin.getline(t,sizeof(t));
memset(l,'0',sizeof(l));
int n=0;
int m=0;
while(s[m]!='\0'){
m++;
}
while(s[n]!='\0'){
if(comp()){
for(int i=0;i<m;i++){
cout<<l[i];
}
cout<<endl;
}
l[n]='1';
if(comp()){
for(int i=0;i<m;i++){
cout<<l[i];
}
cout<<endl;
}
n++;
}
return 0;
}