Đếm xâu con đầu–cuối phân biệt

Đề bài

Mô tả

Cho một xâu t và hai xâu sbegin, send. Hãy đếm số xâu con liên tiếp khác nhau theo nội dung của t mà:

  • bắt đầu bằng sbegin (tức là sbegin là tiền tố của xâu con đó), và
  • kết thúc bằng send (tức là send là hậu tố của xâu con đó).

Cho phép sbegin=send và cho phép phần tiền tố sbegin chồng lấn với phần hậu tố send trong cùng xâu con (xem ví dụ 4). Hai xâu con được xem là khác nhau khi và chỉ khi nội dung của chúng khác nhau; vị trí xuất hiện không quan trọng.

Dữ liệu vào

Gồm ba dòng:

  • Dòng 1: xâu t.
  • Dòng 2: xâu sbegin.
  • Dòng 3: xâu send.

Cả ba xâu đều khác rỗng và chỉ gồm các chữ cái Latin in thường.

Dữ liệu ra

Một số nguyên duy nhất — số lượng xâu con thoả mãn.

Ràng buộc

  • 1|t|,|sbegin|,|send|2000.

Ví dụ

Input Output Giải thích
round
ro
ou
1 Chỉ có xâu con "rou" bắt đầu bằng "ro" và kết thúc bằng "ou".
codeforces
code
forca
0 Không có xâu con nào của "codeforces" kết thúc bằng "forca".
abababab
a
b
4 Bốn xâu con phân biệt là "ab", "abab", "ababab", "abababab".
aba
ab
ba
1 Xâu con "aba" vừa bắt đầu bằng "ab" vừa kết thúc bằng "ba" — phần tiền tố và hậu tố chồng lấn vẫn được tính.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0