Codeforces Round #762 A. Square String?
题目大意
判断一个字符串是否为两个相同字符串相加 ,例如abcabc, abcdabcd.
分析
要满足题目条件,首先字符串要是偶数位数,不然不可能重复。然后我们再判断第n为是否与n+(m/2) 位是否相同(m是字符串长度),都相同则满足条则,不相同则不满足。
代码
#include<bits/stdc++.h>
using namespace std;
int t;
bool check(string a)
{
int num=a.length();
if(num%2!=0) return false;
else
{
int p=num/2;
for(int i=0;i<p;i++)
{
if(a[i]==a[i+p]) continue;
else return false;
}
}
return true;
}
int main()
{
cin>>t;
while(t--)
{
string a;
cin>>a;
if(check(a))
{
cout<<"YES"<<endl;
}
else cout<<"NO"<<endl;
}
return 0;
}