#1015 : KMP算法 裸kmp
来源:互联网 发布:js dom编程艺术 pdf 编辑:程序博客网 时间:2024/05/30 22:57
输入
第一行一个整数N,表示测试数据组数。
接下来的N*2行,每两行表示一个测试数据。在每一个测试数据中,第一行为模式串,由不超过10^4个大写字母组成,第二行为原串,由不超过10^6个大写字母组成。
其中N<=20
输出
对于每一个测试数据,按照它们在输入中出现的顺序输出一行Ans,表示模式串在原串中出现的次数。
#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;char mo[10005];char str[1000005];int next[10005] ;int main(){ int t; scanf("%d", &t); while(t--) { memset(next,-1,sizeof(next)); scanf("%s%s", mo, str); int i = 0, j = -1, len = strlen(mo); while(i < len) //构造next函数 { if(j == -1 || mo[i] == mo[j]) next[++i] = ++j; else j = next[j]; } int ans = 0, len1 = strlen(str); i = j = 0; while(i < len1) //模式串匹配原串 { if(j == -1 || str[i] == mo[j]) ++i, ++j; else j = next[j]; if(j == len) ans++; } printf("%d\n", ans); } return 0;}
0 0
- #1015 : KMP算法 裸kmp
- hihocoder-1015 KMP算法(KMP)
- hihocoder 1015 KMP算法 (KMP模板)
- hihoCoder 1015 KMP算法(kmp)
- ACM #1015 KMP算法
- hihoCoder - 1015 - KMP算法
- [HiHoCoder]#1015 : KMP算法
- hihoCoder#1015 KMP算法
- hihocoder#1015 : KMP算法
- #1015 : KMP算法
- hihoCoder 1015 : KMP算法
- hihoCoder #1015 : KMP算法
- hihoCoder#1015 KMP算法
- #1015 : KMP算法
- hihocoder #1015 KMP算法
- 1015 : KMP算法
- [Hiho]1015-KMP算法
- hihoCoder 1015 KMP算法
- 实战函数式编程:使用Ramda.js
- 【C++】LeetCode 179. Largest Number
- MySql的基本操作
- [神经网络与深度学习][计算机视觉]SSD编译时遇到了json_parser_read.hpp:257:264: error: ‘type name’ declared as function ret
- 1016. 部分A+B (15)
- #1015 : KMP算法 裸kmp
- 服务器--使用WordPress搭建个人博客
- C语言补充学习
- web.js.this详解
- 1017. A除以B (20)
- System Verilog视频学习笔记(9)- Inheritance
- jQuery的属性与样式
- 小白题解 Codeforces 794B Cutting Carrot
- 数塔问题