Xâu cân bằng

Xem PDF



Tác giả:
Dạng bài
Điểm: 1000 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một xâu được gọi là cân bằng nếu nó thỏa mãn các điều kiện:

  • Có độ dài \(n\) là một số nguyên dương chẵn.
  • Mọi ký tự xuất hiện ở nửa bên trái (từ vị trí \(1\) đến vị trí \(\dfrac{n}{2}\)) cũng đều xuất hiện ở nửa bên phải (từ vị trí \(\dfrac{n}{2}+1\) đến \(n\)).
  • Mọi ký tự xuất hiện ở nửa bên phải cũng đều xuất hiện ở nửa bên trái.

(Lưu ý rằng ta đánh chỉ số cho các ký tự từ \(1\) đến \(n\)).

Cho xâu \(s\) dài không quá \(10^5\) ký tự, hãy lập trình kiểm tra xem nó có phải xâu cân bằng hay không.

Input

  • Dòng đầu chứa số nguyên dương \(T\) \((T\leq 10)\) là số lượng câu hỏi.

  • Mỗi dòng trong \(T\) dòng tiếp theo chứa một xâu \(s\) gồm không quá \(10^5\) chữ cái tiếng Anh in thường.

Output

  • In ra \(T\) dòng, mỗi dòng ghi YES nếu xâu tương ứng trong input là một xâu cân bằng, hoặc NO trong trường hợp ngược lại.

Example

Test 1

Input
4
baohieplpvip
abccba
anna
lqdoj
Output
NO
YES
YES
NO

Bình luận


  • 0
    dinhducanh47    10:00 p.m. 13 Tháng 9, 2024

    tách xâu ra làm 2.nếu cả hai bằng nhau thì YES,ko thì NO.
    code tham khảo

    n=int(input())
    for i in range(n):
        s=input()
        l=set(s[0:len(s)//2])
        r=set(s[len(s)//2:])
        if l==r:
            print('YES')
        else:
            print('NO')
    


    • 5
      TIT_manh    1:15 p.m. 17 Tháng 6, 2024
      Hint
      • Bài này không phải là đếm tần suất xuất hiện kí tự ở nửa bên trái có bằng bên phải hay không, mà là xem coi nếu có kí tự nào xuất hiện bên trái mà không xuất hiện ở bên phải thì in "NO", và ngược lại.
      • Hướng giải:
        + Tạo 2 mảng a và b có 26 phần tử tương ứng với 26 chữ cái tiếng anh in thường (tất cả phần tử của 2 mảng bằng 0).
        + Duyệt hết nửa bên trái xâu s (s[0] -> s[n / 2 - 1]) a[s[i] - 'a'] = 1.
        + Duyệt hết nửa bên phải xâu s (s[n / 2] -> s[n - 1]) b[s[i] - 'a'] = 1.
        + Duyệt từ 0 -> 25 nếu a[i] khác b[i] thì in "NO", không thì "YES".

      • 0
        PY1F04_phan_nhat_binh    11:03 a.m. 29 Tháng 2, 2024

        cho mình xin gợi ý bài này với


        • -3
          Shinoz    12:39 a.m. 18 Tháng 8, 2023 đã chỉnh sửa

          Cho em hỏi bài này làm sao v ạ? Em làm như này nhưng không đúng code here


          • 0
            trieunguyen_a1    12:44 p.m. 10 Tháng 10, 2021

            chấm có bị sao không ạ ?


            • -1
              phamngocphuc2008    9:41 a.m. 7 Tháng 9, 2021

              Anh CalWinDao ơi, testcase bài này hơi bị yếu ạ, hình như testcase bài này chỉ có trường hợp mọi ký tự ở bên trái không có ở bên phải thôi chứ không có trường hợp nào ngược lại ạ.

              1 phản hồi