Đếm chuỗi đối xứng

Xem dạng PDF

Gửi bài giải


Điểm: 0,18 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
Hứa Lê Thanh Vy
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Trong một buổi học viết chữ, Bờm phát hiện trong một số từ khi bỏ đi một số ký tự thì đọc ngược hay đọc xuôi đều giống nhau.

Ví dụ từ ~IOICAMP~, khi xóa đi các chữ cái ~C,A,M,P~, thì còn lại ~IOI~ là một từ đối xứng.

Bờm cảm thấy thú vị, và cậu tiếp tục thử xóa các ký tự khác, kết quả là có thêm nhiều từ đối xứng nữa: ~II, I, O, C...~. Nhưng nếu với một từ dài, cứ thử từng cách xóa như vậy thì thật mất thời gian. Bạn hãy viết chương trình giúp Bờm tính số cách xóa sao cho từ thu được đối xứng. Hai cách xóa chỉ khác nhau bởi thứ tự xóa các ký tự thì coi như trùng nhau.

Input

Một dòng duy nhất là từ cần tính số cách xóa, từ này chỉ chứa các chữ cái in hoa ~A, B, ..., Z~. (Độ dài từ không quá ~120~).

Output

Một số duy nhất là số cách xóa.

Sample Input

IOICAMP

Sample Output

9

Bình luận

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



  • 10
    The__Rootkit  đã bình luận lúc 18, Tháng 10, 2022, 2:55

    Cho e hỏi trong bài này thì 2 chuỗi "IOCAMP" và "OICAMP" có được tính là 1 không ạ ? Em chạy thì thấy 2 cái này được tính là 2 thì mới ra kq như trong test a. Em cảm ơn


    • -4
      trieuyanglake_1  đã bình luận lúc 27, Tháng 3, 2023, 1:01

      sr toi cmt nham