Tìm xâu mẫu bằng KMP
Xem dưới dạng PDF
Gửi bài giải
Điểm:
15
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
An có một văn bản \(T\) và một xâu mẫu P. An muốn tìm tất cả các vị trí mà xâu mẫu P xuất hiện trong văn bản \(T\) (kể cả khi các lần xuất hiện chồng chéo). Hãy dùng thuật toán KMP để giúp An.
Định dạng đầu vào
- Dòng đầu chứa xâu \(T\).
- Dòng thứ hai chứa xâu \(P\).
- Độ dài các xâu không quá \(10^5\), chỉ gồm chữ cái in thường.
Định dạng đầu ra
- Dòng đầu: số lượng vị trí xuất hiện.
- Dòng thứ hai: các vị trí bắt đầu (đánh số từ 0), in theo thứ tự tăng dần. Nếu không có, không in dòng này.
Ví dụ
Input:
aabcabaab
ab
Output:
3
1 4 7
Ràng buộc
- 100% số điểm: \(|T|, |P| \le 10^5\).
Nhận xét