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