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:
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
Trong đề có viết "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." tức mình nghĩ ví dụ như IOOI thì nó chỉ có I,O,II,OO,IOI,IOOI nhm mình chạy theo lời giải thì là 9 (mình ngĩ là I,O,O,I,II,OO,IOI,IOI,IOOI), có phải mình đang hiểu sai đề ko?
theo mình là cách xoá tính luôn cả việc xoá hết các kí tự. Với cả theo phát biểu của đề bài thì thứ tự xoá mới là vấn đề chứ không phải việc 2 xâu sau khi xoá có trùng nhau hay không, ví dụ: IOOI nếu bạn xoá kí tự số 1 và 4 thì việc bạn xoá kí tự 1 hay 4 trước đều như nhau, đều chung cách xoá (1;4).
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
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.