可达鸭学习平台题库——思维题库56题平方字符串

平方字符串

时间限制:1秒        内存限制:128M

题目描述

小可提出了“平方串”的概念。比如abcabcaa,前一半和后一半都相同,都是平方字符串。

aaaabccba则不是平方字符串。

输入描述

第一行有一个正整数t(1≤t≤100),代表有t个字符串。

接下来tt行每行一个字符串。每个字符串都只由小写字母组成,不包含空格、大写字母、数字等其他字符。

输出描述

对于每个字符串,如果是平方字符串,输出YES,否则输出NO

样例输入

 
  1. 10
  2. a
  3. aa
  4. aaa
  5. aaaa
  6. abab
  7. abcabc
  8. abacaba
  9. xxyy
  10. xyyx
  11. xyxy

样例输出

 
  1. NO
  2. YES
  3. NO
  4. YES
  5. YES
  6. YES
  7. NO
  8. NO
  9. NO
  10. YES

AC代码

#include<bits/stdc++.h>
using namespace std;
bool p(string a){
	for(int i=0,j=a.size()/2; j<a.size(); i++,j++){
		if(a[i]!=a[j]){
			return 0;
		}
	}
	return 1;
}
int main(){
	int t;
	cin>>t;
	while(t--){
		string a;
		cin>>a;
		if(a.size()%2==1){
			cout<<"NO"<<endl;
			continue;
		}
		else{
			if(p(a)==1){
				cout<<"YES"<<endl;
			}
			else{
				cout<<"NO"<<endl;
			}
		}
	}
	return 0;
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Programming_Konjac

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值