• 【ACM】hdu_zs2_1006_Problem F_201308031058


    Problem F
    Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other)
    Total Submission(s) : 21   Accepted Submission(s) : 3
    Font: Times New Roman | Verdana | Georgia
    Font Size: ← →
    Problem Description
    人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现,现在长大了却不知道怎么去判断亲和串了,于是他只好又再一次来请教聪明且乐于助人的你来解决这个问题。
    亲和串的定义是这样的:给定两个字符串s1和s2,如果能通过s1循环移位,使s2包含在s1中,那么我们就说s2 是s1的亲和串。

    Input
    本题有多组测试数据,每组数据的第一行包含输入字符串s1,第二行包含输入字符串s2,s1与s2的长度均小于100000。

    Output
    如果s2是s1的亲和串,则输出"yes",反之,输出"no"。每组测试的输出占一行。

    Sample Input
    AABCD
    CDAA
    ASD
    ASDF

    Sample Output
    yes
    no

    #include <stdio.h>
    #include <string.h>
    #define MAX_LEN 100000
    char str1[MAX_LEN+100];
    char str2[MAX_LEN+100];
    int main()
    {
     while(gets(str1))
     {
      int i,j,k,len1,len2;
      gets(str2);
      //strcpy(str1,"abcdefgh");
      //strcpy(str2,"cde");
      i=j=k=0;
      len1=strlen(str1);
      len2=strlen(str2);
      if(len2>len1)
      printf("no ");
      else if(len1==len2)
      {
       if(strcmp(str1,str2)==0)
       printf("yes ");
       else
       printf("no ");
      }
      else
      {
       for(i=0;i<len1;i++)
       {
        if(str2[0]==str1[i])
        {
         k=i;
         for(j=0;k<len1;k++)
         {
          if(j>=len2) break;      
          if(str1[k]!=str2[j++])
          break;
         }
         if(j>=len2) {printf("yes ");break;}
         if(k>=len1&&j>=len2) {printf("yes ");break;}
         if(k>=len1&&j<len2)
         {
          for(k=0;j<len2;k++)
             {
              if(str1[k]!=str2[j++])
              break;
             }
             if(j>=len2)
             {printf("yes ");break;}
         }
        }
        if(j>=len2||k>=len1) break;
       }
       if(i>=len1&&(str2[0]!=str1[i-1]))
       printf("no ");
      }
     }
     return 0;
    }
          

  • 相关阅读:
    Jenkins忘记用户名密码怎么登陆,Tomcat启动Jenkins服务
    robotframework-ride导入已安装的库报红解决
    robotframework-ride打开提示wxPython不存在,实际已安装
    .NET开发Windows服务
    Hadoop:操作 Hadoop Cluster
    Hadoop: Hadoop Cluster配置文件
    Hadoop:部署Hadoop Single Node
    CentOS7安装ftp服务器
    理解timestamp
    python生成器实现杨辉三角
  • 原文地址:https://www.cnblogs.com/xl1027515989/p/3239346.html
Copyright © 2020-2023  润新知