zoukankan      html  css  js  c++  java
  • AC日记——字符串位移包含问题 1.7 19

    19:字符串移位包含问题

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

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

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

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

    思路:

      大模拟;

    来,上代码:

    #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;
    }
  • 相关阅读:
    作业3月30号
    21、,模块与包的使用
    作业3月26号
    20、面向函数与匿名函数及模块
    作业3月25号
    19、迭代器及函数的递归调用
    作业3月24号
    06-函数
    3.17---购物车练习
    3.15---文件处理练习2
  • 原文地址:https://www.cnblogs.com/IUUUUUUUskyyy/p/6105205.html
Copyright © 2011-2022 走看看