Xâu con

View as PDF

Submit solution


Points: 0.09 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Problem types
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho xâu ~A~ và xâu ~B~ chỉ gồm các chữ cái thường. Xâu ~B~ được gọi là xuất hiện tại vị trí ~i~ của xâu ~A~ nếu: ~A_{i} = B_1~, ~A_{i+1} = B_2~, ..., ~A_{i+length( B )-1} = B_{length( B )}~.

Hãy tìm tất cả các vị trí mà ~B~ xuất hiện trong ~A~.

Input

  • Dòng ~1~: xâu ~A~.
  • Dòng ~2~: xâu ~B~.

Độ dài ~A~, ~B~ không quá ~1000000~.

Output

  • Ghi ra các vị trí tìm được trên ~1~ dòng (thứ tự tăng dần). Nếu ~B~ không xuất hiện trong ~A~ thì bỏ trắng.

Sample Input

aaaaa
aa

Sample Output

1 2 3 4

Comments

Please read the guidelines before commenting.



  • -98
    phu142857  commented on July 13, 2021, 3:00 a.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


  • 33
    PPAP_1264589  commented on June 13, 2021, 5:22 p.m.

    Nếu dùng thuật Hash các bạn chú ý để long long nhé. Base cũng không nên quá lớn


    • 3
      NguyenHuuNhatQuang  commented on Oct. 29, 2022, 5:05 a.m.

      Hash thì để mod vừa phải và int cũng được để buff tốc độ chạy mặc dù không quá nhiều :D


    • 4
      kazamahoang  commented on July 2, 2021, 1:57 p.m.

      Tại sao vậy bạn


      • 8
        PPAP_1264589  commented on July 4, 2021, 2:23 p.m.

        Bởi trường hợp xấu nhất việc lấy mã hash có thể tràn số do vượt quá kiểu int :/

        Base không nên quá lớn cũng vì lý do này (theo kinh nghiệm của mình) :D


        • 1
          kazamahoang  commented on July 5, 2021, 9:50 a.m. edited

          Thế tràn bộ nhớ thì sao bạn

          với cả base không lớn thì sai số á :((


          • 1
            abcd1234  commented on Jan. 9, 2022, 2:06 p.m. edited

            tràn bộ nhớ thì sẽ bị MLE(memory limited exceed) đó bạn :)