DHBB 2023 - CHV - 10 - Xâu Palind

Xem dạng PDF

Gửi bài giải

Điểm: 45,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho một xâu kí tự ~S~ chỉ chứa các kí tự viết thường trong bảng chữ cái Tiếng Anh. Hãy tìm xâu ~T~ có độ dài lớn nhất thỏa mãn cái điều kiện sau:

  • ~T~ có độ dài không vượt quá độ dài của ~S~

  • ~T~ là một xâu đối xứng (hay Palindrome, cách đọc từ trái sang phải giống cách đọc từ phải sang trái)

  • Tồn tại ~2~ xâu ~a, b~ (có thể rỗng) sao cho ~T = a + b~ (với dấu ~+~ có ý nghĩa là phép gộp xâu) và ~a~ là một tiền tố của xâu ~S~, ~b~ là một hậu tố của xâu ~S~.

Hãy in ra độ dài xâu ~T~.

Input

  • Dòng ~1~: Chứa số nguyên dương ~t~ ~(1 \le t \le 10^5)~ là số bộ dữ liệu trong test này.

  • Dòng đầu tiên trong mỗi bộ dữ liệu gồm một xâu kí tự ~S~.

Output

  • In ra ~t~ dòng tương ứng là độ dài xâu ~T~ tìm được của mỗi bộ dữ liệu.

Scoring

Gọi ~M~ là tổng độ dài tất cả các xâu ~S~ trong mỗi test.

Subtask Điểm Ràng buộc
1 ~50\%~ ~t \le 1000, M \le 5000~
2 ~50\%~ ~t \le 10^5, M \le 10^6~

Sample Input 1

5
a
abcdfdcecba
abbaxyzyx
codeisfun
acbba

Sample Output 1

1
9
5
1
4

Notes

  • Trong bộ dữ liệu đầu tiên, xâu ~T~ cũng chính là xâu ~S~.

  • Trong bộ dữ liệu thứ hai, xâu ~T =~ "abcdfdcba" ~=~ "abcdfdc" ~+~ "ba" với "abcdfdc" là một tiền tố của xâu ~S~, còn "ba" là một hậu tố của xâu ~S~.

  • Trong bộ dữ liệu thứ ba, xâu ~T =~ "xyzyx" ~=~ "" ~+~ "xyzyx", trong đó ~a =~ "" còn ~b =~ "xyzyz".


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.