2021-2022蓝桥杯寒假集训训练 - 问题 H: 图片收集者

Posted Tisfy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-2022蓝桥杯寒假集训训练 - 问题 H: 图片收集者相关的知识,希望对你有一定的参考价值。

传送门


图片收集者

时间限制:1秒
空间限制:256M


题目描述

小T喜欢收集图片。

有次她阅读英语短文的时候,突发奇想,想要统计一下短文中字母“img”出现的次数。

AI小T当然不会手动统计“img”的出现次数,而是写了一段程序来统计。


输入描述

输入共有一个样例,包括多行,可以理解为一篇文章。

数据保证输入不超过512k

本题数据爬取了70个网页源码,具有一定程度的随机性


输出描述

输出给定“文章”中共包含多少个“img”


样例一

输入

img is the abbreviation of image

输出

1

题目分析

模拟即可。对于C语言,我们可以把文章的每一行看成是一个字符串,只需要遍历一遍每个字符串,看看其中有多少个“img”即可。

对于Python,可以直接输出len(article.split("img")) - 1。因为字符串中每包含一个“img”,split出来的列表就会多一个元素。


AC代码

C++

#include <bits/stdc++.h>
using namespace std;
#define mem(a) memset(a, 0, sizeof(a))
#define dbg(x) cout << #x << " = " << x << endl
#define fi(i, l, r) for (int i = l; i < r; i++)
#define cd(a) scanf("%d", &a)
typedef long long ll;

const string toFind = "img";

int main() 
    // freopen("LetMeFly_Reptile005.in", "r", stdin);
    int ans = 0;
    string s;
    while (cin >> s) 
        for (int i = 0; i + toFind.size() - 1 < s.size(); i++) 
            bool is = true;
            for (int j = 0; j < toFind.size(); j++) 
                if (s[i + j] != toFind[j]) 
                    is = false;
                    break;
                
            
            if (is) 
                ans++;
            
        
    
    cout << ans << endl;
    
    return 0;

Python

ans = 0
while True:
    try:
        s = input()
    except:
        break
    ans += len(s.split("img")) - 1
print(ans)

原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/123077124

以上是关于2021-2022蓝桥杯寒假集训训练 - 问题 H: 图片收集者的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥杯·寒假百校真题大联赛(大学B组)(第2期)《迷宫》(DFS版本)

蓝桥杯·寒假百校真题大联赛(大学B组)(第2期)《迷宫》(DFS版本)

蓝桥杯集训100题scratch水仙花数 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第18题

蓝桥杯集训100题scratch售票找零 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第23题

蓝桥杯集训100题scratch数字计算 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第16题

蓝桥杯集训100题scratch售票找零 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第23题