刚开始不知道为啥想用广搜做。。。
题目传送门
题目意思:
给你两个 01 串,问能否经过题目给的操作后使得第一个串变得与第二个串一样。
思路:
这其实是一道思维题。自己搞几个样例看看就能发现规律了。
那怎么做呢?就是将两个串的 1
的个数分别记录,然后判断第一个串是否还能加一个 1
(即第一个串的 1
的个数是否是奇数)。是奇数第一个串的计数器再加一。
最后判断第一个串的 1
的个数是否大于第二个串的即可。
代码:
#include<bits/stdc++.h>
using namespace std;
#define FOR(i,x) for(auto i:x)
string a,b;
int cnt1,cnt2;
int main()
{
cin>>a>>b;
FOR(i,a)if(i=='1')cnt1++;
FOR(i,b)if(i=='1')cnt2++;
cnt1+=cnt1%2;
if(cnt1>=cnt2)
cout<<"YES";
else cout<<"NO";
return 0;
}
完美撒花~