<JZOJ5912>VanUSee
挺魔的
反正我考场上想不到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");
}
}
<JZOJ5912>VanUSee的更多相关文章
- [JZOJ 5912] [NOIP2018模拟10.18] VanUSee 解题报告 (KMP+博弈)
题目链接: https://jzoj.net/senior/#contest/show/2530/2 题目: 众所周知,cqf童鞋对哲学有着深入的理解和认识,并常常将哲学思想应用在实际生活中,例如锻炼 ...
- [NOIP2018模拟赛10.18]自闭报告
闲扯 这一天,菜鸡RyeCatcher又想起来了被毒瘤题支配的恐惧 今天比较好玩,还是ljy提醒才发现文件夹里有题面...不知道外面的人什么时候才发现 看完了题面,又回到了雅礼啥题也不会写的感觉 T1 ...
随机推荐
- java实现图片和pdf添加铺满文字水印
依赖jar包 <!-- pdf start --> <dependency> <groupId>com.itextpdf</groupId> <a ...
- linux安装java步骤
本文转发自博客园-Q鱼丸粗面Q.博客园-郁冬的文章,内容略有改动 本文已收录至博客专栏linux安装各种软件及配置环境教程中 方式一:yum方式下载安装 1.查找java相关的列表 yum -y li ...
- fread 和fgets 函数的使用
两个函数都是对FILE *fp 文件进行读取信息,fgets是每次读取一行,fread是一下子读完所有的文件内容. //一.fread的使用 FILE *fp; int nread; ] fp = f ...
- CountDownLatch 我的应用场景
记得我是做一个第三方接口,当时需要拿公司的五万辆车通过每周四的夜间去获取违章数据: 三方当时只提供一个只能一辆车去获取未处理的违章数据: 接口是http的方式获取: 当时我是用CountDownLat ...
- CF 1130C Connect
链接:https://codeforces.com/contest/1130/problem/C C. Connect time limit per test 1 second memory limi ...
- POJ 3273 Monthly Expense二分查找[最小化最大值问题]
POJ 3273 Monthly Expense二分查找(最大值最小化问题) 题目:Monthly Expense Description Farmer John is an astounding a ...
- linux复制指定文件
find /somedir -type f|xargs -I {} cp {} . find /somedir -name "*.txt"|xargs -I {} cp {} .
- PAT甲级——1077.Kuchiguse(20分)
The Japanese language is notorious for its sentence ending particles. Personal preference of such pa ...
- 1051: [HAOI2006]受欢迎的牛 (tarjan强连通分量+缩点)
题目大意:CodeVs2822的简单版本 传送门 $Tarjan$强连通分量+缩点,若连通块的个数等于一则输出n:若缩点后图中出度为0的点个数为1,输出对应连通块内的点数:否则输出0: 代码中注释部分 ...
- Django数据迁移时提示 ModuleNotFoundError: No module named 'users'
执行数据迁移时提示找不到对应的APP,错误如下: 这个错误主要是路径找不到引起的,只需在settings文件夹中添加app文件路径即可 sys.path.insert(0, os.path.join( ...