DELSTR - Xóa xâu
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 512 megabyte
Đăng bởi: admin

Cho xâu ký tự s chỉ gồm các chữ cái latin in thường. Mỗi lần thực hiện, bạn được phép xóa một hoặc một dãy ký tự liên tiếp giống nhau khỏi xâu. Đối với xâu thu được sau khi ta lại có thể thực hiện phép xóa nói trên. Quá trình sẽ được tiếp tục như vậy cho đến khi thu được xâu rỗng.

Ví dụ: Cho xâu s = “aabbbacaa”, ta có thể thực hiện xóa như sau (ở mỗi bước các ký tự được gạch dưới sẽ được xóa để thu được xâu tiếp theo):

aabbbacaa → aabbbcaa → aacaa → caa → aa → ""

Cách xóa này đòi hỏi 5 lần thực hiện phép xóa. Cách xóa sau đây đòi hỏi 3 lần thực hiện xóa:

aabbbacaa aabbbaaa aaaaa —> ""

Yêu cầu: Hãy xác định cách xóa đòi hỏi ít lần thực hiện phép xóa nhất.

Dữ liệu

- Dòng đầu tiên chứa số nguyên n là độ dài của xâu s ( 1 <= n <= 1000);
- Dòng thứ hai chứa xâu s gồm n ký tự, mỗi ký tự chỉ là chữ cái latin in thường (từ ‘a’ đến ‘z’).

Kết quả:

Ghi ra một số nguyên là số phép xóa ít nhất cần thực hiện để xóa được tất cả các ký tự của xâu đã cho

Ví dụ

Input

9
aabbbacaa

Output

3


Nguồn: NĐN 20172018

Back to Top