时间限制: 1.000 Sec 内存限制: 64 MB
题目描述
到了动物园,琦琦开心得跳起来。哗,这里好多动物呀,有老虎,有狮子……
在开心之余,琦琦也不忘妈妈的教导:观察动物时要认真仔细,还要看动物园除上的动物简介呀。
动物的简介原来还有英文版的呢!
为了卖弄自己的英文水平,琦琦就告诉妈妈每张动物简介里出现了多少次该动物的名称。
注意:琦琦只认识小写字母,而且只要是某部分连续的字母同动物名称完全一样,她就会认为这就是那动物的名称。
因此当简介中同时出现了monkeys、smonkey、smonkeys时,她就会说出现了3个猴子的名称。
你能编程完成琦琦的任务吗?
输入
共n+2行:
第1行为数字n(n<=3000),表示该动物的简介共有n行。
第2行为一个单词,表示琦琦认识的动物名称。
接着是n行,每行为一个长度小于250个字符的字符串,表示动物的简介。
输出
共1行,为简介里出现了多少次琦琦能识别出的动物的单词。
样例
输入1
1 monkey She often jumps onto my knees. I like to give her a bath.
输出1
0
输入2
2 snake The snake is a long and thin animal. Snakes have no legs or feet.
输出2
1
输入3
3 bee ebe ebe eeb eeb eeb eebeebee
输出3
2
提示
只关心出现几次。如果1个单词中出现x次,也算x个,不算1个。
代码
请先思考后再看代码!!!
#include<bits/stdc++.h>
using namespace std;
int main() {
int n, sum= 0;
string s,str;
cin >> n >> str;
getchar();
while (n--) {
getline(cin, s);
while (true) {
if (s.find(str) == string::npos)
{
break;
}else{
sum++;
s.erase(s.find(str), str.length());
}
}
}
cout << sum;
return 0;
}