为防止广告,目前nocow只有登录用户能够创建新页面。如要创建页面请先登录/注册(新用户需要等待1个小时才能正常使用该功能)。

Sgu/191

来自NOCOW
< Sgu
跳转到: 导航, 搜索
/by Logic
#include<stdio.h>
#include<string.h>
const int maxn=150000;
int n,l,ne[maxn]={0},now=1,z=0;
bool a[maxn];
char st,en[maxn],ans[2][5]={"YES","NO"};
int main()
{
#ifndef ONLINE_JUDGE
	freopen("data.in","r",stdin);
#endif
	int i,j;
	scanf("%c\n%s",&st,en);
	a[1]=st-'A';
	l=strlen(en);
	for(i=0,j=1;i<l&&j;i++,j=ne[j])
	{
		if(en[i]==a[j]+'A')
		{
			int t=now;
			a[++now]=!(en[i]-'A'),ne[now]=now+1;
			a[++now]=en[i]-'A',ne[now]=ne[j];
			ne[j]=t+1;
			if(now>l) {z=1;break;}
		}
		else a[j]=en[i]-'A';
	}
	if(i<l) z=1;
	printf("%s",ans[z]);
	return 0;
}
个人工具