zoukankan      html  css  js  c++  java
  • ECNUOJ 2147 字符环

    字符环

    Time Limit:1000MS Memory Limit:65536KB
    Total Submit:562 Accepted:146

    Description 

    字符环:就是将给定的一个字符串,首尾相连而形成的一个环。
    现在我们来玩一个有趣的两人游戏:
    每次甲给出两个字符串A和B,然后让乙判断字符串B是否能够被字符环A所包含.
    例如,A = aabcd , B = cdaa , 那么B可以包含在A经过旋转后的字符串A’ = cdaab中.

    Input 

    输入数据的第一行,一个正整数N,表示测试数据的组数.
    对于每个数据:
    首先2个正整数lengtha 和 lengthb代表字符串A和字符串B的长度。
    接下来一行有两个被一个空格隔开的字符串A和B,A和B的长度如上所输入的长度。
    长度的范围是1<=length<=100,并且字符串种只含有小写字母

    Output 

    对于每组测试数据,输出只有一行

    如果B字符串含在字符环A中,则输出:YES 否则输出:NO

    Sample Input 

    2
    5 4
    aabcd cdaa
    5 4
    babcd cdaa

    Sample Output 

    YES
    NO


    Hint:
    aabcd 经过顺时针循环移动可以得到:aabcd-->abcda-->bcdaa-->abcda-->cdaab-->daabc
    babcd 经过顺时针循环移动可以得到:babcd-->abcdb-->bcdba-->cdbab-->dbabc-->babcd

    Source

    第一届程序设计竞赛

    解题:这么傻逼的题目居然只有这么点AC率。。。

    喜欢坑爹,会出现m大于n的情况,特别要注意这个

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 string a,b;
     4 int main() {
     5     int kase,n,m;
     6     ios::sync_with_stdio(false);
     7     cin>>kase;
     8     while(kase--) {
     9         cin>>n>>m;
    10         cin>>a>>b;
    11         if(m > n) {
    12             puts("NO");
    13             continue;
    14         }
    15         a += a;
    16         if(a.find(b) == a.npos) puts("NO");
    17         else puts("YES");
    18     }
    19     return 0;
    20 }
    View Code
  • 相关阅读:
    spring boot基础知识
    使用PrintDocument定制打印格式
    vue刷新页面出现闪烁
    递归限制级数
    导出Excel的2个方法
    通过反射获取对象名称和值
    asp.net mvc 使用bootstrap的模态框插件modal
    记录用到的mssql的几个方法
    记录几个字符串转html的帮助类,以防忘记
    git 命令
  • 原文地址:https://www.cnblogs.com/crackpotisback/p/4638556.html
Copyright © 2011-2022 走看看