zoukankan      html  css  js  c++  java
  • 1347 旋转字符串

    1347 旋转字符串

    基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
    收藏
    关注

    S[0...n-1]是一个长度为n的字符串,定义旋转函数Left(S)=S[1…n-1]+S[0].比如S=”abcd”,Left(S)=”bcda”.一个串是对串当且仅当这个串长度为偶数,前半段和后半段一样。比如”abcabc”是对串,”aabbcc”则不是。

    现在问题是给定一个字符串,判断他是否可以由一个对串旋转任意次得到。

    Input
    第1行:给出一个字符串(字符串非空串,只包含小写字母,长度不超过1000000)
    Output
    对于每个测试用例,输出结果占一行,如果能,输出YES,否则输出NO。
    Input示例
    aa
    ab
    Output示例
    YES
    NO
     题意: 一开始看题意还以为要对字符串旋转呢,真坑,结果对"对串"分析一下就出来了.
     1 #include <bits/stdc++.h>
     2 #define N 1000005
     3 using namespace std;
     4 char k[N];
     5 int main(){
     6   while(~scanf("%s",k)){
     7     if(strlen(k)%2==1)
     8       printf("NO
    ");
     9     else{
    10       bool prime=true;
    11       int ans=strlen(k)/2;
    12       for(int i=0;i<ans;i++){
    13         if(k[i]!=k[i+ans]){
    14           prime=false;
    15           break;
    16         }
    17       }
    18       if(prime)
    19         printf("YES
    ");
    20       else
    21         printf("NO
    ");
    22     }
    23   }
    24   return 0;
    25 }
  • 相关阅读:
    datagrid
    IntelliJ IDEA for mac 引入js注意事项
    centos7安装并配置svn
    yum使用总结
    安装php
    类视图
    django里面添加静态变量
    Ubuntu16.04安装&创建虚拟环境
    制作dockerfile, 天眼查的镜像、并运行
    dockerfile
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/7375627.html
Copyright © 2011-2022 走看看