DPCNTPALIN - Phân tích chuỗi thành Palindrom

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Palindrome là xâu ký tự mà nếu đọc nó từ trái sang phải cũng như từ phải sang trái ta được cùng một xâu. Một xâu ký tự bất kỳ luôn có thể biểu diễn như là một dãy các palindrome nếu như ta coi xâu chỉ gồm một ký tự luôn là một palindrome. Ví dụ: xâu bobseesanna có thể biểu diễn dưới dạng dãy các palindrome theo nhiều cách, chẳng hạn:

  • bobseesanna = bob + sees + anna
  • bobseesanna = bob + s + ee + s + anna
  • bobseesanna = b + o + b + sees + a + n + n + a.

Cho xâu ký tự, cần tìm cách biểu diễn xâudưới dạng một dãy gồm số ít nhất các palindrome. Ví dụ: cho s = bobseesanna, do ta có bobseesanna = bob + sees + anna và không thể biểu diễn bobseesanna bởi ít hơn là 3 palindrome nên biểu diễn này chính là biểu diễn cần tìm.

Input

  • Gồm một dòng chứa xâu ký tự s chỉ gồm các chữ cái latin thường.

Output

  • Gồm một dòng duy nhất ghi số lượng ít nhất các palindrome trong biểu diễn tìm được.Độ dài xâu s không quá 255 ký tự.

Sample

Input #1
bobseesanna
Output #1
3

Problem source: Chuyên Sơn La Online Judge


Bình luận

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


Không có bình luận tại thời điểm này.