trang chủ / đề bài / dhbb23_chv_10_c

Xâu Palind

Đề bài

Mô tả

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ác đ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.

Yêu cầu: Hãy in ra độ dài xâu T.

Dữ liệu vào

  • Dòng 1: chứa số nguyên dương t (1≤t≤105) là số bộ dữ liệu trong test này.
  • Mỗi bộ dữ liệu gồm một dòng chứa một xâu kí tự S khác rỗng.

Dữ liệu ra

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

Ràng buộc

  • 1≤t≤105.
  • Gọi M là tổng độ dài tất cả các xâu S trong mỗi test: M≤106.
  • S chỉ gồm chữ cái tiếng Anh in thường.

Subtasks

  • Subtask 1 (50% số điểm): t≤1000, M≤5000.
  • Subtask 2 (50% số điểm): t≤105, M≤106.

Mỗi subtask được chấm theo nhóm: chỉ được điểm của subtask khi đúng mọi test thuộc subtask đó.

Ví dụ

Input Output Giải thích
5
a
abcdfdcecba
abbaxyzyx
codeisfun
acbba
1
9
5
1
4
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, 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, T= "xyzyx" = "" + "xyzyx", trong đó a= "" còn b= "xyzyx".
5
aaa
banana
abcda
abacbxba
z
3
5
3
5
1
Ví dụ bổ sung (không có trong đề gốc). Với banana: a rỗng, b= "anana". Với abcda: T= "ab" + "a" = "aba". Với abacbxba: T= "aba" + "ba" = "ababa".

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0