Đếm xâu con tốt
Đề bài
Mô tả
Cho xâu gồm các chữ cái la-tinh thường. Một xâu được gọi là tốt nếu nó thỏa mãn tất cả luật cho trước. Mỗi luật được mô tả bởi bộ ba trong đó là một xâu và là hai số nguyên (): xâu thỏa luật nếu số lần xuất hiện của trong nằm trong đoạn (kể cả hai đầu).
Số lần xuất hiện của xâu trong xâu là số cặp thỏa và (các vị trí xuất hiện có thể chồng lấp nhau).
Hãy đếm số xâu con phân biệt của là xâu tốt. Hai xâu con và được coi là khác nhau nếu và chỉ nếu (tức là so sánh dạng xâu, không phải so sánh vị trí).
Dữ liệu vào
- Dòng đầu chứa xâu .
- Dòng thứ hai chứa số nguyên .
- dòng tiếp theo, mỗi dòng chứa một luật gồm xâu và hai số nguyên cách nhau bởi khoảng trắng.
Các xâu chỉ gồm chữ cái la-tinh thường và đều khác rỗng.
Dữ liệu ra
- In ra một số nguyên duy nhất — số xâu con phân biệt của là xâu tốt.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| aaab 2 aa 0 0 aab 1 1 |
3 | Ba xâu con tốt là «aab», «ab» và «b». Chúng đều không xuất hiện trong "aa" (luật 1) và xuất hiện đúng 1 lần trong "aab" (luật 2). |
| ltntlnen 3 n 0 0 ttlneenl 1 4 lelllt 1 1 |
2 | Chỉ có hai xâu con tốt là «e» và «t». |
| a 0 |
1 | Không có luật nào nên mọi xâu con đều tốt; có duy nhất một xâu con phân biệt là «a». |
Bình luận