Pattern
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
Tèo có văn bản \(T\) và nhiều pattern. Với mỗi pattern, Tèo muốn biết tất cả vị trí xuất hiện của nó trong \(T\) (các vị trí có thể chồng lấn). Hãy giúp Tèo!
Định dạng đầu vào
- Dòng đầu: xâu \(T\) (\(1 \le |T| \le 10^5\)), gồm chữ cái in thường
a..z. - Dòng hai: số nguyên \(K\) (\(1 \le K \le 10^5\)).
- \(K\) dòng tiếp theo: mỗi dòng là một pattern, tổng độ dài không quá \(10^5\).
Định dạng đầu ra
- Với mỗi pattern xuất hiện ít nhất một lần, in ra dòng:
<id> <số_lần> <vị trí 1> <vị trí 2> ...(các vị trí 0-indexed, cách nhau bởi khoảng trắng). - Các pattern không xuất hiện thì không in.
- In theo thứ tự pattern id từ 0 đến K-1.
Ví dụ
Input:
aaaa
3
a
aa
ab
Output:
0 4 0 1 2 3
1 3 0 1 2
Ràng buộc
| Nhóm | Điểm | Giới hạn |
|---|---|---|
| 1 | 30 | \(|T| \le 100, K \le 10\) |
| 2 | 30 | \(|T| \le 10^4, K \le 10^3\) |
| 3 | 40 | \(|T| \le 10^5, K \le 10^5\) |
Nhận xét