# include <stdio.h>
# include <algorithm>
# include <string.h>
# define MAX 55
using namespace std;
int L;
char a[MAX];
int vis[MAX];
int judge1()//ababa
{
int i,j;
int xx,yy,zz;
char x[MAX],y[MAX],z[MAX];
for(i=2; i*2<L; i++)
{
for(j=0; j<i; j++) //ab
{
x[j]=a[j];
}
x[j]='\0';
yy=0;
for(j; j<i*2; j++) //ab
y[yy++]=a[j];
y[yy]='\0';
if(strcmp(x,y)!=0)
continue;
zz=0;
for(j; a[j]; j++)//a
z[zz++]=a[j];
z[zz]='\0';
if(zz>=i)
continue;
char A[MAX],B[MAX];
for(j=0; j<zz; j++)//a
A[j]=a[j];
A[j]='\0';
if(strcmp(A,z)!=0)
continue;
int bb=0;
for(j; j<i; j++)//b
B[bb++]=a[j];
B[bb]='\0';
if(strcmp(A,B)==0)
continue;
return 1;
}
return 0;
}
int judge2()//ababcab
{
int i,j;
char x[MAX],y[MAX],z[MAX],w[MAX];
for(i=2;i*3<L;i++)
{
memset(vis,0,sizeof(vis));
int xx=0;
for(j=0;j<i;j++)//ab
{
x[xx++]=a[j];
vis[j]=1;
}
x[xx]='\0';
int yy=0;
for(j;j<2*i;j++)//ab
{
vis[j]=1;
y[yy++]=a[j];
}
y[yy]='\0';
j=L-i;
int zz=0;
for(;a[j];j++)//ab
{
vis[j]=1;
z[zz++]=a[j];
}
z[zz++]='\0';
int ww=0;
for(j=i*2;!vis[j];j++)//c
{
w[ww++]=a[j];
}
w[ww]='\0';
if(strcmp(x,y)!=0)
continue;
if(strcmp(y,z)!=0)
continue;
char A[MAX],B[MAX];
for(j=1;j<i;j++)
{
int jj;
for(jj=0;jj<j;jj++)
A[jj]=a[jj];
A[jj]='\0';
int bb=0;
for(jj;jj<i;jj++)
B[bb++]=a[jj];
B[bb]='\0';
if(strcmp(A,B)==0)
continue;
if(strcmp(A,w)==0)
continue;
if(strcmp(B,w)==0)
continue;
return 1;
}
}
return 0;
}
int main()
{
int t,i;
char b[MAX];
scanf("%d",&t);
while(t--)
{
scanf("%s",b);
int len=strlen(b);
L=0;
for(i=0; i<len; i++)
{
if((b[i]<='z'&&b[i]>='a')||(b[i]<='Z'&&b[i]>='A'))
a[L++]=b[i];
}
a[L]='\0';
if(judge1())
{
printf("Yes\n");
continue;
}
if(judge2())
{
printf("Yes\n");
continue;
}
printf("No\n");
}
return 0;
}
zoj 3818 Pretty Poem(模拟)
最新推荐文章于 2015-08-11 19:40:12 发布