Mật khẩu

Xem dạng PDF

Gửi bài giải

Điểm: 0,25 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
HSG Hà Nam 2021
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Một xâu được gọi là mật khẩu "an toàn" nếu xâu đó thỏa mãn:

  • Có độ dài ít nhất bằng ~6~.
  • Chứa ít nhất một chữ cái in hoa ('A'…'Z').
  • Chứa ít nhất một chữ cái in thường ('a'…'z').
  • Chứa ít nhất một chữ số ('0'…'9').

Ví dụ: "a1B2C3","tinHoc6" là hai mật khẩu "an toàn", còn "a1B2C", "a1b2c3", "A1B2C3", "tinHoc" đều không là mật khẩu "an toàn".

Một lần, Minh nhìn thấy một xâu ~S~ có độ dài ~n (n \le 10^6 )~ chỉ gồm các loại kí tự: chữ cái in hoa, chữ cái in thường và chữ số. Minh muốn đếm xem có bao nhiêu cặp chỉ số ~(i, j)~ thỏa mãn hai điều kiện:

  • ~1 \le i \lt j \le n.~
  • Xâu con gồm các ký tự liên tiếp từ ~i~ đến ~j~ là mật khẩu "an toàn".

Yêu cầu: Bạn hãy giúp Minh tính số lượng cặp ~(i, j)~ thỏa mãn điều kiện nêu trên.

Dữ liệu vào:

  • Gồm một dòng duy nhất chứa duy nhất xâu ~S~.

Kết quả:

  • Ghi ra một số nguyên không âm là kết quả tìm được.

Ví dụ:

Sample Input
abc3456789PQ
Sample Output
6

Giải thích:

Trong ví dụ trên có ~6~ mật khẩu "an toàn" là: "c3456789P", "c3456789PQ", "bc3456789P", "bc3456789PQ", "abc3456789P", "abc3456789PQ".

Ràng buộc:

  • Có ~40\%~ số điểm ứng với các test có ~n \le 10^2~.
  • Có ~30\%~ số điểm ứng với các test có ~n \le 10^3~.
  • Có ~30\%~ số điểm ứng với các test còn lại có ~n \le 10^6~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.