VM 08 Bài 21 - Xử lý xâu

Xem dạng PDF

Gửi bài giải


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

Nguồn bài:
VNOI Marathon '08 - Round 8/DivAProblem Setter: Yang Yi
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho ~2~ xâu ~S~ và ~T~ có cùng độ dài ~N~. Bạn được thực hiện lần lượt ~2~ thao tác trên xâu ~S~, theo đúng thứ tự:

  • Chọn ~1~ vị trí của ~S~ và thay thế bằng ký tự bất kỳ
  • Xoay chuỗi ~S~ theo vòng tròn. Nghĩa là chọn ~1~ vị trí ~k~ và dịch chuỗi ~S~ theo vòng tròn sao cho ~k~ trở thành vị trí bắt đầu của chuỗi mới. Chú ý nếu ~k~ = ~0~ thì chuỗi không thay đổi.

Đếm số cách áp dụng ~2~ thao tác trên để biến xâu ~S~ thành xâu ~T~.

Input

Gồm ~2~ xâu ~S~ và ~T~, chỉ gồm các ký tự in hoa. Độ dài không quá ~10^{5}~.

Output

Gồm ~1~ số nguyên duy nhất là số cách biến đổi.

Sample Input 1

AHYANGYI YANGYIAH

Sample Output 1

8

Sample Input 2

VSUMSU MSUMSU

Sample Output 2

2

Note

Test ~1~

  • Có thể thay chữ "A" đầu bằng "A", chữ "H" bằng "H", ... (~8~ cách thay đổi)
  • Sau đó, có duy nhất 1 cách dịch chuyển chuỗi.

Test ~2~

  • Cần thay thế chữ "V" đầu thành chữ "M"
  • Sau đó có ~2~ cách dịch chuyển ~k = 0~ hoặc ~k = 3~.

Bình luận

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



  • -7
    QB_lemon  đã bình luận lúc 18, Tháng 9, 2022, 9:46

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.