题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4847
统计文本中一共有多少个“Doge”
水题
#include <cstring> #include <cstdlib> #include <cstring> #include <cmath> #include <algorithm> #include <iostream> #include <cstdio> #include <stack> #include <vector> #include <queue> #include <map> #include <set> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair<int, int> P; const int maxn = 500100; char a[maxn]; const char ch[] = "doge"; int main() { //freopen("in.txt", "r", stdin); int ans = 0; while(scanf("%s", a) == 1) { int len = strlen(a); int loc = 0; for(int i = 0; i < len; i++) { if('A' <= a[i] && a[i] <= 'Z') a[i] = a[i] - ('A' - 'a'); if(a[i] == ch[loc]) loc++; else { loc = 0; if(a[i] == ch[loc]) loc++; } if(loc >= 4) { ans++; loc = 0; } } } printf("%d ", ans); return 0; }