#270. 回文拼接

回文拼接

回文拼接

题目描述

一个字符串是回文串,当且仅当该字符串从前往后读和从后往前读是一样的,例如,aabaa\texttt{aabaa}ccddcc\texttt{ccddcc} 都是回文串,但 abcd\texttt{abcd} 不是。

小杨有 nn 个仅包含小写字母的字符串,他想请你编写程序判断每个字符串是否由两个长度至少为 22 的回文串前后拼接而成。

输入格式

第一行包含一个正整数 nn,代表字符串数量。
接下来 nn 行,每行一个仅包含小写字母的字符串。

输出格式

对于每个字符串输出一行,如果该字符串由两个长度至少为 22 的回文串前后拼接而成则输出 Yes,否则输出 No。

样例输入

4
abcd
aabbb
aaac
abcdd

样例输出

No
Yes
No
No

样例解释

对于样例输入中的 44 个字符串,逐个判断如下:

  • 第一个字符串 abcd:需要切成前后两部分且每部分长度至少为 22。唯一可能的分法是 abcdab 倒过来是 ba,不是回文;cd 也不是回文。因此不满足条件,输出 No
  • 第二个字符串 aabbb:可以切成 aabbbaa 正反读相同,是回文;bbb 正反读也相同,是回文。两部分长度都至少为 22,满足条件,输出 Yes
  • 第三个字符串 aaac:可能的分法有 aaac,或者 aaacaaac 中后一部分长度只有 11,不满足长度至少为 22 的要求;aa 是回文,但 ac 不是回文。因此不满足,输出 No
  • 第四个字符串 abcdd:唯一长度满足的分法是 abcdd,或者 abcddab 不是回文;abcdd 中前一部分长度不足 22。因此不满足,输出 No

数据范围

对全部的测试数据,保证 1n101 \le n \le 10,且每个字符串的长度均不超过 100100