Square String? (Codeforces 1619A)
Tags: Implement, strings

A string is called square if it is some string written twice in a row. For example, the strings "aa", "abcabc", "abab" and "baabaa" are square. But the strings "aaa", "abaaab" and "abcdabc" are not square.For a given string $$$s$$$ determine if it is square.

Input: The first line of input data contains an integer $$$t$$$ ($$$1 \le t \le 100$$$) —the number of test cases.This is followed by $$$t$$$ lines, each containing a description of one test case. The given strings consist only of lowercase Latin letters and have lengths between $$$1$$$ and $$$100$$$ inclusive.

Output: For each test case, output on a separate line:  YES if the string in the corresponding test case is square,  NO otherwise. You can output YES and NO in any case (for example, strings yEs, yes, Yes and YES will be recognized as a positive response).


Sample Inputs:
10
a
aa
aaa
aaaa
abab
abcabc
abacaba
xxyy
xyyx
xyxy

Sample Outputs:
NO
YES
NO
YES
YES
YES
NO
NO
NO
YES

Solution (Python):
def is_square(s):
    length = len(s)
    if length % 2 != 0:
        return False
    half_length = length // 2
    first_half = s[:half_length]
    second_half = s[half_length:]
    return first_half == second_half

def test():
    t = int(input().strip())
    for _ in range(t):
        s = input().strip()
        if is_square(s):
            print('YES')
        else:
            print('NO')
test()

Solution (Python):
t = int(input())
for _ in range(t):
    s = input()
    if len(s) % 2 == 0 and s[:len(s) // 2] == s[len(s) // 2:]:
        print('YES')
    else:
        print('NO')

Solution (Python):
n = int(input())
for _ in range(n):
    s = input()
    if len(s) % 2 != 0:
        print('NO')
        continue
    half = len(s) // 2
    if s[0:half] == s[half:]:
        print('YES')
    else:
        print('NO')