Nhân xâu

Đề bài

Mô tả

Định nghĩa phép nhân xâu: tích của xâu s có độ dài m với xâu t là xâu

s·t=t+s1+t+s2+t++t+sm+t

trong đó si là ký tự thứ i của s và dấu + là phép nối xâu. Nói cách khác, ta chèn một bản sao của t vào giữa mỗi hai ký tự liên tiếp của s, đồng thời thêm một bản sao ở đầu và một bản sao ở cuối.

Ví dụ, tích của "abc" với "de" là "deadebdecde", còn tích của "ab" với "z" là "zazbz". Khác với phép nhân số, phép nhân xâu không có tính giao hoán: s·t nói chung khác t·s.

Độ đẹp của một xâu là độ dài của xâu con liên tiếp dài nhất chỉ gồm một loại ký tự. Chẳng hạn độ đẹp của "xayyaaabca" bằng 3 (nhờ đoạn "aaa"), còn độ đẹp của "qwerqwer" bằng 1.

Cho n xâu p1,p2,,pn. Hãy tính độ đẹp của xâu

(((p1·p2)·p3)·)·pn

tức là các phép nhân được thực hiện lần lượt từ trái sang phải.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số lượng xâu.
  • n dòng tiếp theo, dòng thứ i chứa xâu khác rỗng pi gồm các chữ cái latin thường.

Dữ liệu ra

Một số nguyên duy nhất là độ đẹp của tích các xâu.

Ràng buộc

  • 2n100000
  • Tổng độ dài của tất cả các xâu pi không vượt quá 100000
  • Dữ liệu đảm bảo độ đẹp của xâu kết quả không vượt quá 109

Ví dụ

Input Output Giải thích
3
a
b
a
3 p1·p2= "bab", rồi "bab" · "a" = "abaaaba". Đoạn "aaa" cho độ đẹp 3.
2
bnn
a
1 Tích là "abanana", không có hai ký tự giống nhau đứng cạnh nhau.
2
a
a
3 Tích là "aaa". Khi nhân với một xâu chỉ gồm một loại ký tự, độ dài đoạn lặp có thể tăng rất nhanh.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0