Số xâu con tốt
Nộp bài giải
Điểm:
5,00 (OI)
Giới hạn thời gian:
4.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Dạng bài
Ngôn ngữ cho phép
Ada, Algol, Assembly, Awk, C, C#, C++, D, Dart, Forth, Fortran, Go, Groovy, Java, Javascript, Kotlin, Lisp, Lua, Nim, ObjC, Pascal, Perl, PHP, Pike, Python, Racket, Ruby, Rust, Scheme, Scratch, Sed, TCL, Typescript, V, Zig
Cho xâu và luật. Mỗi luật là một bộ ba , trong đó là một xâu và là hai số nguyên không âm .
Ta nói xâu thoả mãn luật nếu số lần xuất hiện của trong nằm trong đoạn (tính cả hai đầu). Số lần xuất hiện của xâu trong xâu là số cặp chỉ số với sao cho (cho phép các lần xuất hiện chồng lên nhau).
Một xâu được gọi là tốt nếu nó thoả mãn tất cả luật đã cho.
Hãy đếm số xâu con khác nhau của là xâu tốt. Hai xâu con và được coi là khác nhau khi và chỉ khi (so sánh nội dung xâu, không 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 xâu và hai số nguyên cách nhau bởi dấu cách .
Tất cả các xâu cho trước đều khác rỗng và chỉ gồm các chữ cái Latinh thường.
Dữ liệu ra
Một số nguyên — số xâu con khác nhau 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 tốt là «aab», «ab» và «b». Các xâu con khác hoặc chứa «aa» (vi phạm luật 1) hoặc không xuất hiện trong «aab» (vi phạm luật 2). |
| ltntlnen 3 n 0 0 ttlneenl 1 4 lelllt 1 1 |
2 | Chỉ hai xâu «e» và «t» thoả mãn cả ba luật. |
| a 0 |
1 | Khi không có luật nào, mọi xâu con đều tốt — chỉ có một xâu con duy nhất là «a». |
Bình luận