博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
校赛——1096Is The Same?(KMP或字符串的最小、大表示法)
阅读量:4663 次
发布时间:2019-06-09

本文共 1744 字,大约阅读时间需要 5 分钟。

1096: Is The Same?

Time Limit: 1 Sec  Memory Limit: 64 MB
Submit: 26  Solved: 8
[][][]

Description

给出2个字符串S和T,如果可以通过循环移位使得S和T相等,则我们称S和T是同构字符串, 例如S=“abcd”, T=“bcda”,则S和T是同构字符串;而S=“abcd”和T=“bcad”则不是同构字符串。
循环移位是指:在⼀个长度为n的字符串S中,取⼀个任意下标i,把字符串分为两段,分别为 S1S2...Si 和Si+1Si+2...Sn,然后把字符串变为Si+1Si+2...SnS1S2...Si,例如S=“qwerty”,取i=3, 则变 为”rtyqwe”(注意,一个字符串本⾝身也算是它的同构字符串)。 

 

Input

第⼀行包含一个整数T(1 <= T <= 20),代表测试组数。
对于每组数据,包含2个字符串,字符串长度都小于等于105且非空,输入保证字符串只包含小写字⺟。 

 

Output

对于每组数据,如果这两个字符串是同构字符串,则输出Yes,否则输出No。 

 

Sample Input

2abcdbcdaabcdbcad

Sample Output

YesNo

比赛的时候用的是据说效率差不多的strstr过的,毕竟题目只是要求输出是否匹配而不是查找出现位置。KMP比较长打起来费时间而且清空数组又要打一堆

代码:

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;#define INF 0x3f3f3f3f#define MM(a) memset(a,0,sizeof(a))const int N=100010;char a[N],b[N],aa[2*N],bb[2*N];int nexta[N],nextb[N];inline void getnext(int ne[],char s[]){ int j=0,k=ne[0]=-1; int len=strlen(s); while (j

最小表示法代码:

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;#define INF 0x3f3f3f3finline string minP(string s){ int i=0,j=1,k=0,l=s.size(); while (i
0) j+=k+1; else i+=k+1; k=0; if(i==j) j++; } } s=s+s; return s.substr(min(i,j),l);}int main(void){ int tcase; string a,b; cin>>tcase; while (tcase--) { cin>>a>>b; a=minP(a); b=minP(b); if(a==b) cout<<"Yes"<

转载于:https://www.cnblogs.com/Blackops/p/5475411.html

你可能感兴趣的文章
.net开源后可以查看的源代码
查看>>
比较结构的关联词(二)
查看>>
Windows10系统在VMware中安装CentOS7操作系统并实现图形化用户界面Gnome
查看>>
分布式文件系统
查看>>
线程同步工具 Semaphore类的基础使用
查看>>
Bug的等级程度(Blocker, Critical, Major, Minor/Trivial)及修复优先级
查看>>
js多图预览及上传功能
查看>>
Mac下安装ionic和cordova,并生成iOS项目
查看>>
caffe介绍
查看>>
MongoDB副本集和分片模式安装
查看>>
Spring Mvc Url和参数名称忽略大小写
查看>>
Python之常用模块学习(一)
查看>>
CSS------如何让大小不一样的div顶部对齐
查看>>
SOCKET.IO 前后端使用
查看>>
CodeForces 122G Lucky Array(一脸懵逼的树状数组)
查看>>
【开发实例】C#调用SAPI实现语音合成的两种方法
查看>>
Django实战(15):Django实现RESTful web service
查看>>
离散实验二
查看>>
使用sharepoint里Open with explorer功能
查看>>
通过模糊来弱化背景
查看>>