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