// Codeforces #180 div2 C Parity Game
//
// 这个问题的意思被摄物体没有解释
//
// 这个主题是如此的狠一点(对我来说,),不多说了这
//
// 解决问题的思路:
//
// 第一个假设a字符串和b字符串相等,说直接YES
// 假设b串全是0,直接YES
// 注意到a串有一个性质,1的个数不会超过本身的加1.
// a有个1的上限设为x,b有个1的个数设为y,则假设x < y
// 那么直接NO。
//
// 如今普通情况下。就是模拟啦,找到a的后缀和b的前缀一样的
// 最长的长度设为buf。之后对buf之后的部分进行扫描,假设
// b[i] == '1' ,则在a串的前suf中找一个1,把它添到后面,
// 这样就能够找到了。最后判一下在a中的j下标是否小于suf就能够了
//
// 注意:假设開始a中1的个数是1的时候那么在第一次找到b[i]是1的
// 时候,不用找1.
//
// 解题:
//
// 这样的字符串的题目,情况相对时有那么一点多,关键是曾经看过前缀和后缀
// 作为状态进行转移的动态规划,所以相对有那么一点感觉。感觉是对了。但
// 经历的时间还是太长了。继续练吧。。。。 #include <algorithm>
#include <bitset>
#include <cassert>
#include <cctype>
#include <cfloat>
#include <climits>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>
#include <functional>
#include <iostream>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <stack>
#include <vector>
#define ceil(a,b) (((a)+(b)-1)/(b))
#define endl '\n'
#define gcd __gcd
#define highBit(x) (1ULL<<(63-__builtin_clzll(x)))
#define popCount __builtin_popcountll
typedef long long ll;
using namespace std;
const int MOD = 1000000007;
const long double PI = acos(-1.L); template<class T> inline T lcm(const T& a, const T& b) { return a/gcd(a, b)*b; }
template<class T> inline T lowBit(const T& x) { return x&-x; }
template<class T> inline T maximize(T& a, const T& b) { return a=a<b? b:a; }
template<class T> inline T minimize(T& a, const T& b) { return a=a<b? a:b; } const int maxn = 1008;
string a;
int fa[maxn];
string b;
int fb[maxn];
int x,y;
int len1,len2;
int suf;
bool cmp(int u){
for (int i=u;i<u+len2;i++){
if (a[i]!=b[i])
return false;
}
return true;
} void solve(){
string s; suf = -1;
int i;
for (i=len1-1;i>=0;i--){
s = a.substr(i);
if (s==b.substr(0,len1-i)){
suf = i;
break;
}
}
//cout <<
// cout << a << endl;
// cout << b << endl;
//cout << "suf = " << suf << endl;
int flag = 0; //cout << "fb = " << fb[len2-1] << endl;
if (suf == -1)
suf = len1-1;
int x = len1 - suf;
int j = 0;
int even = 0;
//cout << " x " << x << endl;
i = x;
if (fa[len1]&1){
b[i] == '0';
while(!a[j]&&j<suf)
j++;
j++;
}
for (; i < len2; i++) {
if (b[i]=='1'){
while(j<suf){
if (s[j]=='1'){
break;
}
j++;
}
}
}
if (j<suf){
puts("YES");
}else {
puts("NO");
}
} void init(){
memset(fa,0,sizeof(fa));
memset(fb,0,sizeof(fb));
len1 = a.size();
len2 = b.size();
x = 0;
y = 0;
int i;
for (i=0;i<len1;i++){
if (a[i]=='1'){
x++;
fa[i] = x;
}
}
for (i=0;i<len2;i++)
if (b[i]=='1'){
y++;
fb[i] = y;
}
if (( !(x&1) && x < y) || ((x&1) && x+1 < y)){
puts("NO");
return ;
} if (!fb[len2-1]){
puts("YES");
return ;
} solve(); } int main() {
//freopen("G:\\Code\\1.txt","r",stdin);
while(cin >> a >> b){
if (a==b){
puts("YES");
continue;
}
init();
}
return 0;
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

Codeforces #180 div2 C Parity Game的更多相关文章

  1. Codeforces #541 (Div2) - E. String Multiplication(动态规划)

    Problem   Codeforces #541 (Div2) - E. String Multiplication Time Limit: 2000 mSec Problem Descriptio ...

  2. Codeforces #541 (Div2) - F. Asya And Kittens(并查集+链表)

    Problem   Codeforces #541 (Div2) - F. Asya And Kittens Time Limit: 2000 mSec Problem Description Inp ...

  3. Codeforces #541 (Div2) - D. Gourmet choice(拓扑排序+并查集)

    Problem   Codeforces #541 (Div2) - D. Gourmet choice Time Limit: 2000 mSec Problem Description Input ...

  4. Codeforces #548 (Div2) - D.Steps to One(概率dp+数论)

    Problem   Codeforces #548 (Div2) - D.Steps to One Time Limit: 2000 mSec Problem Description Input Th ...

  5. 【Codeforces #312 div2 A】Lala Land and Apple Trees

    # [Codeforces #312 div2 A]Lala Land and Apple Trees 首先,此题的大意是在一条坐标轴上,有\(n\)个点,每个点的权值为\(a_{i}\),第一次从原 ...

  6. Codeforces #263 div2 解题报告

    比赛链接:http://codeforces.com/contest/462 这次比赛的时候,刚刚注冊的时候非常想好好的做一下,可是网上喝了个小酒之后.也就迷迷糊糊地看了题目,做了几题.一觉醒来发现r ...

  7. codeforces #round363 div2.C-Vacations (DP)

    题目链接:http://codeforces.com/contest/699/problem/C dp[i][j]表示第i天做事情j所得到最小的假期,j=0,1,2. #include<bits ...

  8. codeforces round367 div2.C (DP)

    题目链接:http://codeforces.com/contest/706/problem/C #include<bits/stdc++.h> using namespace std; ...

  9. codeforces 235 div2 C Team

    题目:http://codeforces.com/contest/401/problem/C 题意:n个0,m个1,求没有00或111的情况. 这么简单的题..... 做题的时候脑残了...,今天,贴 ...

随机推荐

  1. 【世外桃源】福音节目 swtychina.com

    [世外桃源]福音节目 今天小编满怀热情,带着激动地心情,颤抖的双手,以“大无畏的精神,高山仰止的情操”为大家郑重推荐很好的一个福音节目: <世外桃源>, 哎,不对,貌似从2013年初开始& ...

  2. SpringMVC Ajax返回的请求json 的方式来解决在中国字符串乱码问题

    1.org.springframework.http.converter.StringHttpMessageConverter类是类处理请求或相应的字符串.和默认字符集ISO-8859-1,所以当返回 ...

  3. Android尽量避免使用开发jpg图片

    因为jpgeasy失真,因此,Android尽量避免使用开发.jpg图片,相反,使用.png图片,它使用LZ77衍生无损数据压缩算法. 事实上在这一点上,Google他已经暗示我们: 发现了没有,在r ...

  4. Linux删除以破折号开头的文件Windows在批处理文件来删除隐藏属性

    昨天去打印店打印的材料.结果中毒.所有的文件被隐藏.生成一个一堆快捷键.回来后.我很容易地把它放入Linux机,我想删除这些文件怪. 下面是该过程,遇到的问题. 1.您无法删除'-'该文件的开头 最初 ...

  5. Window Phone 8 应用程序连接扩展图片中心,图片扩展,图片查看器

    WMAppManifest.xml <?xml version="1.0" encoding="utf-8"?> <Deployment xm ...

  6. 在win7在结构cocos2d-x v3.2rc0开发环境(For Android)

    cocos2d-x 这是现在比较流行的游戏引擎., 因此.本文的目的在于教导新手怎样在win7下建立cocos2dx开发环境, 截止本文,cocos2dx的最新版本号为 v3.2rc0版,我将如果您的 ...

  7. bootstrap+jQuery.validate

    bootstrap+jQuery.validate表单校验   谈谈表单校验 这大概是一种惯例,学习前台后台最开始接触的业务都是用户注册和登录.现在社会坚持以人为本的理念,在网站开发过程同样如此.Us ...

  8. Docker安装应用程序(Centos6.5_x64)

    Docker安装应用程序(Centos6.5_x64) Authoer::jom_ch@2014/7/23 Docker官方网站 http://www.docker.com/ 一,安装EPEL 关于E ...

  9. SpringMVC使用FileUpload上传文件

    进口FileUpload和common-io的Jar包 注意:1.Struts2其它方法需要使用的:struts2过滤,将改变reqeust类型,由HttpServletRequest成为MultiP ...

  10. VARCHAR2 他们占几个字节? NLS_LENGTH_SEMANTICS,nls_language

    ORACLE初始化参数:NLS_LENGTH_SEMANTICS 初始化參数NLS_LENGTH_SEMANTICS用于指定CHAR列或VARCHAR2列的长度定义方式,默认值为BYTE. 当设置该參 ...