题解 | #小红的01串#

小红的01串

https://www.nowcoder.com/practice/09ca882b363a480aa33ab15e8cd2b039

每次操作只有三种可能

将两个1变成两个0

将两个1变成两个0

将一个1一个0变成一个0一个1

我们发现1和0的数量转换只能是2的倍数,所以如果1和0的数量都是奇数那就一定不可能,反之一定有解

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2e5 + 5;
int __t = 1, n;
string s;
void solve() {
    cin >> s;
    int n0 = count(s.begin(), s.end(), '0') % 2;
    int n1 = count(s.begin(), s.end(), '1') % 2;
    if (n0 && n1) {
        cout << "No\n";
    } else {
        cout << "Yes\n";
    }
    return;
}
int32_t main() {
#ifdef ONLINE_JUDGE
    ios::sync_with_stdio(false);
    cin.tie(0);
#endif
    cin >> __t;
    while (__t--)
        solve();
    return 0;
}

全部评论

相关推荐

11-07 13:31
怀化学院 Java
勇敢牛牛不怕难:又疯一个
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务