Problem I. Jhadgre的小饼干

题目描述 

最近Jhadgre拿到了一个系列表情包,他很高兴,于是他给每个关系好的女性好友都送了一盒饼干外带这一套表情包。

结果让他惊呆了,竟然真的有女孩子答应他……..再来一盒(不然你以为?)

当然也有人回复一些其他的消息…唯独没有答应做他女朋友的人。

Jhadgre很伤心,但是作为一个有原则的人,既然答应了送别人小饼干,那就必须要给!

所有人的回复都由大写字母,小写字母与’,’组成,占一行,Jhadgre认为只要其中包含了连续的10个小写字母”zailaiyihe”就意味着这个人想要再来一盒。

现在Jhadgre准备给每一个想要“再来一盒”的人买一盒小饼干,他想知道总共需要买几盒小饼干?

输入描述:

第一行一个整数N,表示有N个人回复(1<=N<=1000)
接下去N行每行都是一个人的回复,由大写字母,小写字母与','组成。
(数据保证每行字符不超过1000个)

输出描述:

一个整数表示Jhadgre需要买几盒小饼干

示例1

输入

3 

Bu,xing

wokeyizailaiyihe

no

输出

1

题解:水题哦

#include <bits/stdc++.h>
#define pb push_back
#define ll long long
#define ull unsigned long long
#define EPS 1e-8
#define maxn 1e8+10
#define PI acos(-1.0)
using namespace std;
int main()
{
    int n,cont =0;
    char s[1010];
    char s1[20];
    strcpy(s1,"zailaiyihe");
    cin >> n;
    for(int i = 1;i<=n;i++){
        scanf("%s",s);
        if(strstr(s,s1)){
            cont++;
        }
        getchar();
    }
    printf("%d\n",cont);   
    return 0;
}

 

以下是STL的写法

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int N;scanf("%d",&N);
    int ans = 0 ;
    while (N--){
        string x;cin>>x;
        if (x.find("zailaiyihe") != string::npos){
            ans++;
        }
    }
    cout<<ans<<endl;
    return 0;
}

 

Problem I. Jhadgre的小饼干》有1个想法

发表评论,支持MarkDown语法