挺魔的

反正我考场上想不到233333333333333

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define rint register int
using std::sort;
using std::cin;
template <class T>inline void read(T &X)
{
X=;int W=;char ch=;
while(!isdigit(ch))W|=ch=='-',ch=getchar();
while(isdigit(ch))X=(X<<)+(X<<)+(ch^),ch=getchar();
X=W?-X:X;return;
}
int n,m,t,tot1,tot2;
int ou[],next[],ji[],tmp;
char S[],T[];
bool ok1,ok2,ok;
int main()
{
freopen("vanusee.in","r",stdin);
freopen("vanusee.out","w",stdout);
read(t);
while (t--)
{
ok1=ok2=ok=;
cin>>S+;
cin>>T+;
n=strlen(S+),m=strlen(T+);
tot1=tot2=;
for (rint i=,j=;i<=m;i++)
{
while (T[i]!=T[j+]&&j) j=next[j];
if (T[i]==T[j+]) j++;
next[i]=j;
}
for (rint i=,j=;i<=n;i++)
{
while (S[i]!=T[j+]&&j) j=next[j];
if (S[i]==T[j+]) j++;
if (j==m)
{
tmp=n-i+m-i;
if (!((n-m)%)) ou[++tot1]=tmp;
else ji[++tot2]=tmp;
j=next[j];
}
}
if ((n-m)%)
{
sort(ji+,ji+tot2+);
for(rint i=;i<=tot2;i++)
if(ji[i]-ji[i-]==) ou[++tot1]=ji[i]-;
}
for (rint i=;i<=tot1;i++)
{
if (!ou[i]){ok=;break;}
if (ou[i]==) ok1=;
if (ou[i]==-) ok2=;
}
if (ok) {printf("pty\n");continue;}
if (!ok1 || !ok2) printf("cqf\n");
else printf("pty\n");
}
}

最新文章

  1. Linux下查找文件:which、whereis、locate、find 命令的区别
  2. MVC系列1-MVC基础
  3. ASP.NET - 视图状态概述
  4. Java 装箱 拆箱
  5. STM32F0xx_TIM输入捕获(计算频率)配置详细过程
  6. android5.0问题
  7. bzoj1497(最小割)
  8. HTML静态分页(形如:首页,上一页,下一页,尾页)
  9. 95后实习生的远程办公体验(asp.net mvc\C#技术栈)
  10. Java基础---String类和基本数据类型包装类
  11. MyEclipse无法部署项目
  12. 轻松理解AOP问题
  13. Sass快速入门学习笔记
  14. windows server 2012R2 故障转移集群配置
  15. 【LeetCode】正则表达式匹配(动态规划)
  16. UEFI+GPT双硬盘安装Win10+Ubuntu16.04双系统
  17. InnoDB体系架构
  18. NET调用Com组件事例
  19. MongoDB多文档查询
  20. [转]python新手必碰到的问题---encode与decode,中文乱码--转载

热门文章

  1. 吴裕雄--天生自然Linux操作系统:Linux 远程登录
  2. css 传数据套路
  3. JavaSE--【JAVA】unicode为12288字符
  4. 自己做的板子,电脑识别不出下载口(micro-usb),程序无法烧入
  5. Oauth2.0详解及安全使用
  6. 编译x64c++出错,errorC1900:P1和P2之间 Il 不匹配问题
  7. 吴裕雄--天生自然 pythonTensorFlow图形数据处理:多线程队列操作
  8. SQL Server Driver for PHP之sqlsrv相关函数
  9. We don&#39;t wanna work!
  10. Fiddler 之Filters