首页 > 代码库 > ZOJ 3957: Knuth-Morris-Pratt Algorithm
ZOJ 3957: Knuth-Morris-Pratt Algorithm
Knuth-Morris-Pratt Algorithm
///@author Sycamore, ZJNU ///@date 4/9/2017 #include <iostream> #include <sstream> #include <iomanip> #include <cmath> #include <string> #include <algorithm> #include <numeric> #include <functional> #include <vector> #include <set> #include <list> #include <stack> #include <queue> #include <map> #include <algorithm> #include <cctype> #include<fstream> //#define cin fin //#define cout fout //ifstream fin("in.txt"); //ofstream fout("out.txt"); using namespace std; typedef vector<int> VI; typedef pair<int, int> PII; int main() { ios::sync_with_stdio(false); int T; cin >> T; while (T--) { string s; cin >> s; int c = 0, pos = 0; while (true) { int ppos = min(s.find("cat", pos), s.find("dog", pos)); if (ppos < pos)break; else { pos = ppos + 3; c++; } } cout << c << endl; } return 0; }
ZOJ 3957: Knuth-Morris-Pratt Algorithm
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。