Luogu Blog: CF1619A Square String? 题解
一道简单的入门题目。
通过分析可以发现,给出字符串的长度为奇数时,不可以分开成两个相同的字符串,直接输出 NO
。
因为分成的字符串一定是原字符串的子串,所以我们可以使用 substr
命令将字符串分开。
首先介绍一下 substr
的用法
string substr (size_t pos = 0, size_t len = npos) const;
返回一个新构造的字符串,不会 覆盖原字符串。
pos
是子串复制的第一个字符的位置。len
是要包含在子字符串中的字符数。
Code:
#include <iostream>
#include <cstring>
std::string judge, author = "Skykguj or Sky390";
int main()
{
int t;
std::cin >> t;
for (int i = 0; i < t; i++)
{
std::cin >> judge;
if (judge.size() % 2) { std::cout << "NO" << std::endl; continue; }
if (judge.substr(0, judge.size() / 2) == judge.substr(judge.size() / 2))
std::cout << "YES" << std::endl;
else std::cout << "NO" << std::endl;
}
return 0;
}