Professional Documents
Culture Documents
11 Countpal
11 Countpal
Một palindromelà một xâu ký tự mà ta có thể đọc được cùng nội dung nếu đọc nó từ trái sang phải
hoặc từ phải sang trái. Bất kỳ xâu ký tự nào cũng có thể được tạo thành từ một hoặc một chuỗi các
palindrome liên tiếp nếu ta coi xâu chỉ gồm một ký tự cũng là palindrome.
Ví dụ, xâu bobseesanna có thể được tạo thành từ các palindrome theo một số cách sau:
bobseesanna= bob+sees+anna
bobseesanna=bob+s+ee+s+anna
bobseesanna=b+o+b+sees+a+n+n+a
Chúng ta quan tâm đến việc tính hàm CountPal(s) được định nghĩa là số cách sử dụng các palindrome
mà có thể tạo thành xâu s nói trên.
Yêu cầu: Hãy tính giá trị hàm CountPal(s) của một xâu s cho trước. Vì kết quả có thể rất lớn nên
chúng ta chỉ quan tâm tới phần dư của nó khi chia cho 109+7
Input:
Output: Một số nguyên duy nhất là kết quả của bài toán
Example:
Input Output
bobseesanna 18