当前位置: 首页 > news >正文

题解:洛谷 P1308 [NOIP 2011 普及组] 统计单词数

【题目来源】

洛谷:P1308 [NOIP 2011 普及组] 统计单词数 - 洛谷

【题目描述】

一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。

现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例 1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例 2)。

【输入】

\(2\) 行。

\(1\) 行为一个字符串,其中只含字母,表示给定单词;

\(2\) 行为一个字符串,其中只可能包含字母和空格,表示给定的文章。

【输出】

一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从 \(0\) 开始);如果单词在文章中没有出现,则直接输出一个整数 \(−1\)

【输入样例1】

To
to be or not to be is a question

【输出样例1】

2 0

【算法标签】

《洛谷 P1308 统计单词数》 #模拟# #字符串# #NOIP普及组# #2011#

【代码详解】

#include <bits/stdc++.h>
using namespace std;int main()
{string str, sent; // 声明两个字符串变量,str用于存储要查找的子串,sent用于存储目标字符串int pos, counts=0, ans; // pos用于存储查找位置,counts用于计数匹配次数,ans用于存储首次匹配的位置getline(cin, str); // 从标准输入读取一行字符串到strgetline(cin, sent); // 从标准输入读取一行字符串到sent// 大小写转换:将str和sent中的所有大写字母转换为小写字母for (int i=0; i<str.length(); i++) {if (str[i]>='A' && str[i]<='Z') { // 判断字符是否为大写字母str[i] = str[i] - 'A' + 'a'; // 将大写字母转换为小写字母}}for (int i=0; i<sent.length(); i++) {if (sent[i]>='A' && sent[i]<='Z') { // 判断字符是否为大写字母sent[i] = sent[i] - 'A' + 'a'; // 将大写字母转换为小写字母}}str = " " + str + " "; // 在str前后各添加一个空格,防止部分匹配sent = " " + sent + " "; // 在sent前后各添加一个空格,防止部分匹配// 完全匹配:查找str在sent中的所有出现位置pos = sent.find(str, 0); // 从sent的第0个位置开始查找strans = pos; // 记录首次匹配的位置while (pos != -1) { // 当找到匹配时继续查找counts++; // 匹配次数加1pos = sent.find(str, pos+1); // 从上次匹配位置的下一个位置继续查找}// 输出结果:如果未找到匹配,输出-1;否则输出匹配次数和首次匹配的位置if (ans == -1) {cout << -1;} else {cout << counts << " " << ans;}return 0; // 主函数返回0,表示程序正常结束
}

【运行结果】

To
to be or not to be is a question
2 0
http://www.jsqmd.com/news/387499/

相关文章:

  • Shell echo 命令
  • 照着用就行:研究生专属降AIGC平台 千笔·降AI率助手 VS 万方智搜AI
  • 美容店怎么进行AI推广 - 品牌企业推荐师(官方)
  • 本科生收藏!千笔·专业学术智能体,倾心之选的AI论文平台
  • 题解:洛谷 P5734 【深基6.例6】文字处理软件
  • 题解:洛谷 P5015 [NOIP 2018 普及组] 标题统计
  • 题解:洛谷 P3741 小果的键盘
  • 【前端】Scroll Reveal 动画库高效上手入门教程
  • 数据上图工具:多图层叠加,灵活管理空间数据
  • 题解:洛谷 P1765 手机
  • 题解:洛谷 P1957 口算练习题
  • Vibe Coding的终极秘密,我偷偷用了半年的AI神器,今天决定不藏了,都分享给大家了~~~~
  • 格式转换工具:主流格式互转,结果直接上图预览
  • 坐标拾取工具:支持点线面绘制,结果直接导出
  • 少走弯路:降AIGC工具 千笔AI VS PaperRed,专科生专属高效选择
  • 用数据说话 8个AI论文网站测评:专科生毕业论文写作全攻略
  • 改稿速度拉满! 千笔,本科生论文写作神器
  • 2026 国内智适应动力模块工厂热门推荐的排行情况,回风箱式电子除尘净化器/射流空调机组,智适应动力模块制造企业推荐 - 品牌推荐师
  • 行业内评价最高口碑最好的入户门有哪些?2026十大领军品牌深度解析 - 匠言榜单
  • 题解:洛谷 P5733 【深基6.例1】自动修正
  • 题解:洛谷 P1125 [NOIP 2008 提高组] 笨小猴
  • 题解:洛谷 P1914 小书童——凯撒密码
  • 2026必备!千笔ai写作,碾压级的AI论文网站
  • 2003-2023年地级市经济高质量发展指数
  • 题解:洛谷 P2911 [USACO08OCT] Bovine Bones G
  • 题解:洛谷 P1205 [USACO1.2] 方块转换 Transformations
  • 2000-2024年上市公司制度性交易成本及分组
  • 题解:洛谷 P1614 爱与愁的心痛
  • 1997—2025年上市公司区块链技术专利数据
  • 2026年国内正规的投影机供应厂家推荐榜,高清投影机/全息投影机出租/32000流明投影机出租,投影机生产厂家哪家强 - 品牌推荐师