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

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

收起

 

输入

第1行:给出一个字符串(字符串非空串,只包含小写字母,长度不超过1000000)

输出

对于每个测试用例,输出结果占一行,如果能,输出YES,否则输出NO。

输入样例

aa
ab

输出样例

YES
NO 如果满足条件一定是偶数个字符,不管怎么旋转,都是前半段等于后半段的。
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#define MAX 1000000
using namespace std;
char s[MAX + ];
char t[MAX + ];
bool check() {
int len = strlen(s);
if(len % ) return false;
strcpy(t,s + len / );
s[len / ] = ;
if(strcmp(s,t)) return false;
return true;
}
int main() {
while(~scanf("%s",s)) {
puts(check() ? "YES" : "NO");
}
}

最新文章

  1. 【JavaScript】ArtTemplate个人的使用体验。
  2. 51nod 1006 最长公共子序列Lcs(经典动态规划)
  3. C 宏定义 理解(1)
  4. ffmpeg mp3 to m3u8
  5. SPOJ QTREE 树链剖分
  6. 【Android测试】【第二节】ADB——无线模式
  7. VHDL之Port map and open
  8. java线性表学习笔记(一)
  9. npm 项目更换目录后无法启动
  10. [poj3461]Oulipo_KMP
  11. Linux OpenGL 实践篇-6 光照
  12. 【Python语言】--Crontab结合Python脚本实现将日志每天写入到文件中
  13. [Swift]LeetCode491. 递增子序列 | Increasing Subsequences
  14. vue集成环信IM
  15. uImage是什么
  16. mysql ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  17. “数学口袋精灵”App的第一个Sprint计划----开发日记
  18. 关于LeNet-5卷积神经网络 S2层与C3层连接的参数计算的思考???
  19. python web开发——c3 数据库交互和flask-SQLALchemy
  20. zoc license code

热门文章

  1. 在Jupyter notebook中使用特定虚拟环境中的python的kernel
  2. js今日小结—Ajax、前端安全、GET&amp;POST、闭包、HTTPS
  3. wget下载指定目录下的文件
  4. Nginx、Apache工作原理及Nginx为何比Apache高效
  5. JQuery数字类型验证正则表达式
  6. IOS-CocoaPods进阶篇
  7. C#中使用GUID
  8. eclipse背景设置什么颜色缓解眼睛疲劳之一
  9. PIVOT 和 UNPIVOT 命令的SQL Server版本
  10. elasticsearch实现网站搜索