题目描述
又是努力刷题的一天。众所周知wyk是国一大佬喜欢帮群友解答问题。
现在xmy好奇群里的聊天记录有多少条是@wyk的,但是他在忙着摸鱼。
所以找到了你,给了你N条聊天记录,让你帮他算一下。
注意:保证聊天记录的字母都是在ASSIC内。聊天记录存在空格,也可能以空格开头或结尾。@wyk必须连续才能生效,一条聊天记录保证在一行。
思路:
通过getline(cin,ss(string声明))读入字符串,挨个遍历,在这要注意两点,一个是前面无论是cin还是scanf读入,都要在后面加一个getchar()读掉换行,避免getline上来就读入换行,其次就是题目中一条消息中只要出现一个就可以,所以不可以重复计数
代码:
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
string ss;
string s1="@wyk";
int main()
{
int n;
cin>>n;
getchar();
long long int cnt=0;
while(n--)
{
getline(cin,ss);
for(int i=0;i<ss.size();i++)
{
if(ss[i]!='@') continue;
else
{
if(ss[i+1]=='w'&&ss[i+2]=='y'&&ss[i+3]=='k'&&i+3<ss.size())
cnt++;
break;
}
}
}
cout<<cnt<<endl;
return 0;
}