#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, 满足 .
输出格式
一个整数, 表示B在A中出现的次数.
样例
aaaa aa
3