<JZOJ5912>VanUSee
2024-09-29 17:58:36
挺魔的
反正我考场上想不到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");
}
}
最新文章
- Linux下查找文件:which、whereis、locate、find 命令的区别
- MVC系列1-MVC基础
- ASP.NET - 视图状态概述
- Java 装箱 拆箱
- STM32F0xx_TIM输入捕获(计算频率)配置详细过程
- android5.0问题
- bzoj1497(最小割)
- HTML静态分页(形如:首页,上一页,下一页,尾页)
- 95后实习生的远程办公体验(asp.net mvc\C#技术栈)
- Java基础---String类和基本数据类型包装类
- MyEclipse无法部署项目
- 轻松理解AOP问题
- Sass快速入门学习笔记
- windows server 2012R2 故障转移集群配置
- 【LeetCode】正则表达式匹配(动态规划)
- UEFI+GPT双硬盘安装Win10+Ubuntu16.04双系统
- InnoDB体系架构
- NET调用Com组件事例
- MongoDB多文档查询
- [转]python新手必碰到的问题---encode与decode,中文乱码--转载
热门文章
- 吴裕雄--天生自然Linux操作系统:Linux 远程登录
- css 传数据套路
- JavaSE--【JAVA】unicode为12288字符
- 自己做的板子,电脑识别不出下载口(micro-usb),程序无法烧入
- Oauth2.0详解及安全使用
- 编译x64c++出错,errorC1900:P1和P2之间 Il 不匹配问题
- 吴裕雄--天生自然 pythonTensorFlow图形数据处理:多线程队列操作
- SQL Server Driver for PHP之sqlsrv相关函数
- We don&#39;t wanna work!
- Fiddler 之Filters