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++, Java, Kotlin, Pascal, PyPy, Python, 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.



  • -69
    phu142857   commented on July 13, 2021, 10:00 a.m.

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


  • 26
    PPAP_1264589   commented on June 14, 2021, 12:22 a.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


    • -1
      NguyenHuuNhatQuang   commented on Oct. 29, 2022, 12:05 p.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


    • 5
      kazamahoang   commented on July 2, 2021, 8:57 p.m.

      Tại sao vậy bạn


      • 7
        PPAP_1264589   commented on July 4, 2021, 9: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


        • 0
          kazamahoang   commented on July 5, 2021, 4:50 p.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, 9:06 p.m. edited

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