Để chuẩn bị tổ chức vòng chung kết câu lạc bộ tin học Tỉnh Ninh Bình, ban tổ chức sẽ cung cấp cho mỗi thí sinh một tài khoản và mật khẩu để đăng nhập. Để đảm bảo yếu tố bảo mật, ban tổ chức yêu cầu các thí sinh phải thay đổi mật khẩu ngay sau khi nhận được. Mật khẩu được coi là "an toàn" nếu thỏa mãn đồng thời các điều kiện sau:
Có độ dài tối thiểu là 6;
Chứa ít nhất 1 chữ cái in hoa (~A, B,…, Z~);
Chứa ít nhất 1 chữ cái in thường (~a, b,…, z~);
Chứa ít nhất 1 chữ số (~0,1,…,9~).
Ví dụ các xâu kí tự: a1B2C3, Tinhoc12 là các mật khẩu an toàn, còn các xâu kí tự: a1B2C, a1b2c3, A1B2C3, TinHoc không phải là mật khẩu an toàn.
Yêu cầu: Cho một xâu kí tự ~S~ chỉ gồm các loại kí tự: chữ cái in hoa, chữ cái in thường và chữ số. Hãy cho biết có bao nhiêu cặp chỉ số (~i,j~) thỏa mãn đồng thời hai điều kiện: ~1≤i<j≤|S|~, "trong đó" |~S~|" là độ dài xâu " ~S~, ~0≤|S|≤10^5~; Xâu con ~S_{ij}~ gồm các kí tự liên tiếp từ chỉ số ~i~ đến ~j~ của xâu ~S~ là mật khẩu an toàn.</p>
Yêu cầu: Cho xâu kí tự ~S~, tính số lượng cặp (~i,j~) thỏa mãn hai điều kiện trên.
Dữ liệu vào:
- Gồm một dòng chứa xâu kí tự ~S~.
Dữ liệu ra:
- Ghi một số nguyên dương là số lượng cặp chỉ số (~i,j~) thỏa mãn điều kiện xâu con ~S_{ij}~ là mật khẩu an toàn.
Ví dụ:
Input
abc3456789PQ
Output
6
Ràng buộc:
- Subtask1: Có 30% số test của bài thỏa mãn: ~|S|=6~;
- Subtask2:Có 40% số test của bài thỏa mãn: ~6 ≤|S|≤10^3~;
- Subtask3:Có 30% số test không có thêm ràng buộc nào thêm.
Bình luận