Ghép xâu

Xem PDF

Điểm: 200 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

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)]\). (\(length(B)\) là độ dài của xâu \(B\))

Yêu cầu: 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.

Example

Test 1

Input
aaaaa
aa
Output
1 2 3 4

Nguồn: vn.spoj.com


Bình luận


  • 0
    ekhoavvdd    2:40 p.m. 29 Tháng 8, 2020

    xử lý tle thế nào hả mọi người :))))


    • 0
      tuanha2    8:34 a.m. 13 Tháng 9, 2021

      Hash =))


      • 3
        minhtuanitk20    12:00 a.m. 12 Tháng 1, 2022

        tui nghĩ sài KMP chuẩn vẫn ac chứ cx đâu nhất thiết phải sài Hash đâu nhỉ !!


        • 0
          ekhoavvdd    3:05 p.m. 14 Tháng 9, 2021

          =)))

        1 bình luận nữa