Gửi bài giải
Điểm:
0,20 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python
Một xâu ~S~ được gọi là xâu đối xứng nếu ~S = S'~ với ~S'~ là xâu nhận được từ xâu ~S~ khi đọc từ phải qua trái. Ví dụ: Xâu ~'aba'~ là xâu đối xứng, còn xâu ~'abc'~ là xâu không đối xứng.
Cho một xâu ~S~ gồm ~1 \le n \le 1000~ kí tự.
Yêu cầu: Hãy tìm cách chia xâu ~S~ thành ít nhất các đoạn mà mỗi đoạn đều là các xâu đối xứng.
Input
- Dòng đầu gồm một số nguyên ~n~ là độ dài của xâu ~S~.
- Dòng thứ hai là nội dung xâu ~S~.
Output
- Dòng đầu ghi một số nguyên ~k~ (số đoạn ít nhất tìm được).
- ~K~ dòng sau, mỗi dòng ghi một số nguyên ~t_i~, với ~t_i~ là vị trí kết thúc của đoạn thứ ~i~.
Sample Input 1
8
abbacdcb
Sample Output 1
3
4
7
8