CodeForces - 1619A Square String?【文本处理】

CodeForces - 1619A Square String?【文本处理】,第1张

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 
#include 

#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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/920679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存