我是靠谱客的博主 奋斗蜜粉,这篇文章主要介绍AC日记——字符串位移包含问题 1.7 19,现在分享给大家,希望可以做个参考。

19:字符串移位包含问题

总时间限制: 
1000ms
内存限制:  
65536kB
描述

对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。

给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如CDAA是由AABCD两次移位后产生的新串BCDAA的子串,而ABCD与ACBD则不能通过多次移位来得到其中一个字符串是新串的子串。

输入
一行,包含两个字符串,中间由单个空格隔开。字符串只包含字母和数字,长度不超过30。
输出
如果一个字符串是另一字符串通过若干次循环移位产生的新串的子串,则输出true,否则输出false。
样例输入
复制代码
1
AABCD CDAA
样例输出
复制代码
1
true

思路:

  大模拟;

 

来,上代码:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<cstring> #include<iostream> using namespace std; int main() { string s1,s2,s3,s4; cin>>s1>>s2; s3=s1+s1;s4=s2+s2; if(s3.find(s2)!=-1&&s2.size()<=s1.size()){ cout<<"true"; return 0;} if(s4.find(s1)!=-1&&s1.size()<=s2.size()){ cout<<"true"; return 0;} cout<<"false"; return 0; }

转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6105205.html

最后

以上就是奋斗蜜粉最近收集整理的关于AC日记——字符串位移包含问题 1.7 19的全部内容,更多相关AC日记——字符串位移包含问题内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部