题意:给两个值有0和1的字符串a, b.问a能否转化到b.
转化操作:取连个相邻的数字x, y, q = x ^ y, p = x || , 然后q取代xy其中一个,p取代另一个。
分析: 只要a含有1,a可以转化为任意含有1的长度相等的字符串。
#include <iostream>
#include <cstdio>
#include <vector>
#include <cstring>
#include <algorithm>
#define MAX 1000005
using namespace std;
string a, b;
int main()
{
///freopen("in.txt","w",stdout);
cin>>a>>b;
if(a == b)puts("YES");
else if(a.length() != b.length())puts("NO");
else {
bool res1 = false, res2 = false;
for(int i =0; i < a.length() ; i++){
if(a[i] != '0'){
res1 = true;
break;
}
}
for(int i =0; i < b.length() ; i++){
if(b[i] != '0'){
res2 = true;
break;
}
}
if(!res1 || !res2)puts("NO");
else puts("YES");
}
}