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

Không có ý kiến tại thời điểm này.