循环移位(Cycle)

技术循环移位(Cycle) 循环移位(Cycle)Description
Cycle shifting refers to following operation on the sting. Movin

循环移位(周期)

Description

循环移位是指在支架上进行以下操作。将第一个字母移到末尾,保留字符串的其余部分。例如,在AcceleratedBusinessCollectionandDelivery(美国邮局采用的)加快收寄投递系统上应用循环移位将产生BCDA .给定任意两个字符串,判断一个字符串上任意次数的循环移位是否能生成另一个字符串。

Input

输入中有m行,而每一行都由两个由空格分隔的字符串组成。每个字符串只包含大写字母一个' ~'Z ' .

Output

对于输入中的每一行,如果一个字符串可以通过循环移位转换为另一个字符串,则输出是,否则输出否

Example

投入

AACDCDAA

ABCDEFG EFGABCD

法国连环画评论协会律师协会

ABCDEFEG ABCDEE

输出

Restrictions

0=m=5000

1=|S1|,|S2|=10^5

时间: 2秒

内存: 256兆字节

描述

所谓循环移位是指。一个字符串的首字母移到末尾,其他字符的次序保持不变。比如acceleratedbusinesscollectionaddivery(美国邮局采用的)加快收寄投递系统经过一次循环移位后变成加拿大太平洋牙科会议

给定两个字符串,判断它们是不是可以通过若干次循环移位得到彼此

输入

由m行组成,每行包含两个由大写字母一个~'Z '组成的字符串,中间由空格隔开

输出

对于每行输入,输出这两个字符串是否可以通过循环移位得到彼此:是表示是不,不表示否

样例

见英文题面

限制

0 m 5000

1 |S1|,|S2| 10^5

时间:2秒

内存:256兆字节

1 #包括ecstdio

2 #包括牡蛎

3 #包括字符串

4 #定义N 200005

5使用命名空间标准;

6

7 void getNext(int Next[],char b[],int len)

8 {

9个记忆集(下一个,0,大小为(下一个));

10 Next[0]=-1;

11表示(int i=0,j=-1;伊琳;)

12 if(j==-1||b[i]==b[j])

13下一个[I]=j;

还有14个

15j=下一个[j];

16 }

17 int kmp(char a[],char b[],int Next[])

18 {

19 int n,len

20n=strlen(a);

21 len=strlen(b);

22 getNext(Next,b,len);

23

24表示(int i=0,j=0;在;)

25 {

26 if(j==-1||a[i]==b[j])i,j;

其他27个

28j=下一个[j];

29 if(j=len)

30回1;

31 }

32返回0;

33 }

34

35 int Next[N];

36个字符a[N],b[N];

37 char c[N * 2];

38

39 int main()

40 {

41 while(scanf('%s %s ',a,b)=2)

42 {

43 strcpy(c,a);

44 strcat(c,a);

45

46 if(strlen(a)==strlen(b)kmp(c,b,Next))printf(' YES \ n ');

其他47个

48 printf(' NO \ n ');

49 }

50返回0;

51 }

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/121782.html

(0)

相关推荐

  • 具里面是两横还是三横,具有人说的具是据还是具

    技术具里面是两横还是三横,具有人说的具是据还是具具字的上半部分是『鼎』具里面是两横还是三横,《說文解字》中注:共置也。从廾,从貝省。古以貝爲貨。字的本意是双手捧着鼎器,准备饭食或酒席,有准备、备办的意思。
    『鼎』字的上面

    生活 2021年10月27日
  • 如何使用Hadoop进行分布式并行编程

    技术如何使用Hadoop进行分布式并行编程小编给大家分享一下如何使用Hadoop进行分布式并行编程,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧

    攻略 2021年12月4日
  • Hibernate如何实现批量处理

    技术Hibernate如何实现批量处理这篇文章给大家分享的是有关Hibernate如何实现批量处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hibernate批量处理其实从性能上考虑,它是

    攻略 2021年12月8日
  • 基于alpine构建jdk镜像遇到的坑

    技术基于alpine构建jdk镜像遇到的坑 基于alpine构建jdk镜像遇到的坑alpine常用于作为docker的基础镜像,因为它很小,功能精简,基本上没有啥漏洞,记录一下最近用alpine作为基础

    礼包 2021年11月11日
  • 如何卸载软件,怎样卸载软件才能把软件卸载干净

    技术如何卸载软件,怎样卸载软件才能把软件卸载干净要保证卸载软件时彻底干净、没有残留,可以使用软件管家来卸载如何卸载软件。 由于有些应用软件在安装后,会在注册表中注册,同时还会自动生成附属的文件夹,在系统的控制面板中卸载软

    生活 2021年10月30日
  • 如何进行PyQt5数据库操作

    技术如何进行PyQt5数据库操作如何进行PyQt5数据库操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。PyQt5数据库操作一、SQLite数据库1、

    攻略 2021年11月11日