#P2652. 子串扫描

子串扫描

题目背景

题目描述

在字符串内存街区,长字符串 A 是一个 500 字节的连续存储区居民,它总是以 char[] 的形式大摇大摆地散步。短字符串 B 则是一个最多 5 字节的小程序包,它专门喜欢在 A 的连续内存块中寻找模式匹配的机会,玩一种叫“子串捉迷藏”的游戏。

每次 B 将自己的字符序列与 A 的某一段进行逐字节比对,如果完全匹配,就算一次成功的“内存命中”。你的任务就是写一个暴力匹配算法(或者更聪明的 KMP 也行),从 A[0] 到 A[n-m] 滑动扫描,数一数 B 这个小模板到底在 A 的大数组中出现了多少次。

记住:

B 不能比 A 长,否则栈会抗议(|B| ≤ |A| 且 |B| ≤ 5)。

匹配是严格按字节的,大小写敏感,就像 memcmp() 一样认真。

来吧,启动你的指针索引,开始遍历循环,帮 B 数一数它在 A 的内存里成功隐藏了多少次吧!

输入格式

两个字符串 A 和 B, 满足 1B51A5001\leq |B|\leq5, 1\leq|A|\leq 500 .

输出格式

一个整数, 表示B在A中出现的次数.

样例

aaaa aa
3