trang chủ / bài tập / prefsufpal

Xâu đối xứng tiền tố - hậu tố

Đề bài

Mô tả

Cho một xâu s gồm các chữ cái Latin in thường. Hãy tìm xâu t dài nhất thoả mãn đồng thời ba điều kiện sau:

  • Độ dài của t không vượt quá độ dài của s.
  • t là xâu đối xứng, tức là t đọc từ trái sang phải và từ phải sang trái đều như nhau.
  • Tồn tại hai xâu ab (có thể rỗng) sao cho t=a+b (dấu + là phép ghép xâu), trong đó a là một tiền tố của sb là một hậu tố của s.

Lưu ý rằng ab được lấy độc lập với nhau: chúng có thể chồng lấn lên nhau trên s, thậm chí một trong hai (hoặc cả hai) có thể rỗng.

Chương trình cần xử lý nhiều bộ dữ liệu trong cùng một tệp vào.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên T là số bộ dữ liệu.
  • T dòng tiếp theo, mỗi dòng chứa một xâu s không rỗng gồm các chữ cái Latin in thường.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra trên một dòng xâu t dài nhất thoả mãn các điều kiện trên. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1T105
  • Tổng độ dài của tất cả các xâu s không vượt quá 106.

Ví dụ

Input Output Giải thích
5
a
abcdfdcecba
abbaxyzyx
codeforces
acbba
a
abcdfdcba
xyzyx
c
abba
Với s= abcdfdcecba, xâu abcdfdcba = abcdfdc + ba có độ dài 9, là xâu đối xứng, trong đó abcdfdc là tiền tố còn ba là hậu tố của s; không tồn tại xâu nào dài hơn. Với s= codeforces, đáp án c có độ dài 1 (xâu s cũng là một đáp án hợp lệ khác).
3
aaa
banana
abcda
aaa
anana
aba
Với s= aaa, cả xâu đã là đối xứng nên lấy luôn t=s. Với s= banana, chọn a rỗng và b= anana. Với s= abcda, chọn a= ab và b= a để được aba.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0