zoukankan      html  css  js  c++  java
  • Parity Game CodeForces

    You are fishing with polar bears Alice and Bob. While waiting for the fish to bite, the polar bears get bored. They come up with a game. First Alice and Bob each writes a 01-string (strings that only contain character "0" and "1") a and b. Then you try to turn a into b using two types of operations:

    • Write parity(a) to the end of a. For example, .
    • Remove the first character of a. For example, . You cannot perform this operation if a is empty.

    You can use as many operations as you want. The problem is, is it possible to turn a into b?

    The parity of a 01-string is 1 if there is an odd number of "1"s in the string, and 0 otherwise.

    Input

    The first line contains the string a and the second line contains the string b (1 ≤ |a|, |b| ≤ 1000). Both strings contain only the characters "0" and "1". Here |x| denotes the length of the string x.

    Output

    Print "YES" (without quotes) if it is possible to turn a into b, and "NO" (without quotes) otherwise.

    Example

    Input
    01011
    0110
    Output
    YES
    Input
    0011
    1110
    Output
    NO

    Note

    In the first sample, the steps are as follows: 01011 → 1011 → 011 → 0110

    题意:

    对01串存在两个操作: (1) 从串首删除一个字符 (2) 在串尾添加一个字符(当1的个数是奇数时添加1,否则添加0)

    题解:

    不考虑0的作用,因为每次要么添加,要么删除,那么1的个数最多是原来的数或者原来的数加一。

     1 #include<cmath>
     2 #include<cstdio>
     3 #include<string>
     4 #include<cstring>
     5 #include<iostream>
     6 #include<algorithm>
     7 using namespace std;
     8 
     9 int main()
    10 {   string a,b;
    11     cin>>a>>b;
    12     int suma=0,sumb=0;
    13     for(int i=0;i<a.size();i++) if(a[i]=='1') suma++;
    14     for(int i=0;i<b.size();i++) if(b[i]=='1') sumb++;
    15     suma=suma+suma%2;
    16     if(suma>=sumb) cout<<"YES"<<endl;
    17     else cout<<"NO"<<endl;
    18 } 
  • 相关阅读:
    linux常用命令:
    解决css添加padding后元素变长的问题
    Hbase常用命令
    集群部署的三种方式(hadoop集群部署三种方式)
    linux编译安装指定依赖的软件包
    vue使用Element隐藏侧边栏进度条
    css相对于父容器,固定放在底部并撑满
    java中23种设计模式
    adb remount'的作用是什么?在什么情况下有用?
    java常用http请求库
  • 原文地址:https://www.cnblogs.com/zgglj-com/p/7260780.html
Copyright © 2011-2022 走看看