CodeForces - 1619A Square String?文本处理
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces - 1619A Square String?文本处理相关的知识,希望对你有一定的参考价值。
A. Square String?
time limit per test1 second
memory limit per test256 megabytes
A string is called square if it is some string written twice in a row. For example, the strings “aa”, “abcabc”, “abab” and “baabaa” are square. But the strings “aaa”, “abaaab” and “abcdabc” are not square.
For a given string s determine if it is square.
Input
The first line of input data contains an integer t (1≤t≤100) —the number of test cases.
This is followed by t lines, each containing a description of one test case. The given strings consist only of lowercase Latin letters and have lengths between 1 and 100 inclusive.
Output
For each test case, output on a separate line:
- YES if the string in the corresponding test case is square,
- NO otherwise.
You can output YES and NO in any case (for example, strings yEs, yes, Yes and YES will be recognized as a positive response).
Example
input
10
a
aa
aaa
aaaa
abab
abcabc
abacaba
xxyy
xyyx
xyxy
output
NO
YES
NO
YES
YES
YES
NO
NO
NO
YES
问题链接:CodeForces - 1619A Square String?
问题简述:给定的字符串能否从中间分成相同的两个子串?
问题分析:使用库函数strncmp()来实现,程序代码简洁。
AC的C++语言程序如下:
/* CodeForces - 1619A Square String? */
#include <stdio.h>
#include <string.h>
#define N 100 + 1
char s[N];
int main()
int t;
scanf("%d", &t);
while (t--)
scanf("%s", s);
int len = strlen(s), ans = 0;
if (len % 2 == 0)
int len2 = len / 2;
if (strncmp(s, s + len2, len2) == 0)
ans = 1;
puts(ans ? "YES" : "NO");
return 0;
创作打卡挑战赛
赢取流量/现金/CSDN周边激励大奖
以上是关于CodeForces - 1619A Square String?文本处理的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces 828B Black Square(简单题)
codeforces 1 A题 : Theatre Square(水)