CF1619A
这个题目是一个模拟题。
我们首先读入一个字符串,如果这一个字符串不可以分为长度相同的两部分,就代表这一个字符串不是正方形字符串。否则,我们将其分成长度相同的两部分,如果这两部分字符串是相等的,说明是一个正方形字符串,否则就不是。
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
while (n --)
{
string S;
cin >> S;
int len = S.length();
if ((len & 1)) // 不能分割成两部分
puts("no");
else
{
int Len = len >> 1;
string S1 = S.substr(0, Len); // 前面那一部分的字符串
string S2 = S.substr(Len); // 后面那一部分的字符串
if (S1 == S2)
puts("yes");
else
puts("no");
}
}
return 0;
}