CCF - 201409-3 - 字符串匹配
问题描述
试题编号: | 201409-3 |
试题名称: | 字符串匹配 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: |
问题描述
给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。
输入格式
输入的第一行包含一个字符串S,由大小写英文字母组成。
第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感。 第三行包含一个整数n,表示给出的文字的行数。 接下来n行,每行包含一个字符串,字符串由大小写英文字母组成,不含空格和其他字符。
输出格式
输出多行,每行包含一个字符串,按出现的顺序依次给出那些包含了字符串S的行。
样例输入
Hello
1 5 HelloWorld HiHiHelloHiHi GrepIsAGreatTool HELLO HELLOisNOTHello
样例输出
HelloWorld
HiHiHelloHiHi HELLOisNOTHello
样例说明
在上面的样例中,第四个字符串虽然也是Hello,但是大小写不正确。如果将输入的第二行改为0,则第四个字符串应该输出。
评测用例规模与约定
1<=n<=100,每个字符串的长度不超过100。
|
思路
用C++的string变量实现。 在Gcc环境中,不支持小写转换函数strlwr(); 在Dev-C++环境中,是支持函数strlwr()的。
代码
#include<iostream> #include<cstring> using namespace std; int main() {char key[101],s[101],lowerkey[101],lowers[101];int option,n;cin>>key>>option>> n;// 获得key的小写字符串,放在变量lowerkey中 strcpy(lowerkey,key);strlwr(lowerkey);while(n--){cin>>s;if(option==0) // 大小写无关 {strcpy(lowers,s);strlwr(lowers);if(strstr(lowers,lowerkey))cout<<s<<endl;}else // option=1,大小写有关 {if(strstr(s,key))cout<<s<<endl;}}return 0; }
转载于:https://www.cnblogs.com/5211314jackrose/p/7530739.html
CCF - 201409-3 - 字符串匹配相关推荐
- *3-4 CCF 2014-09-3 字符串匹配
字符串匹配 题目描述 源代码 关于这题 题目描述 源代码 #include<iostream> #include<cstring> using namespace std; c ...
- 字符串匹配shiftand算法
令人惊叹的Shift-And/Shift-Or 写在前面:Shift-And/Shift-Or是如此令人惊叹的算法,在KMP基础上开始一段神奇之旅. 目的:以Shift-And算法为载体,试图在减少思 ...
- 字符串匹配数据结构 --Trie树 高效实现搜索词提示 / IDE自动补全
文章目录 1. 算法背景 2. Trie 树实现原理 2.1 Trie 树的构建 2.2 Trie树的查找 2.3 Trie树的遍历 2.4 Trie树的时间/空间复杂度 2.5 Trie 树 Vs ...
- 2021年度训练联盟热身训练赛第四场 H - Rock Paper Scissors(字符串匹配,FFT)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 2021年度训练联盟热身训练赛第四场 H - Rock Paper Scissors(字符串匹配,FF ...
- Rabin-Karp ( 字符串匹配 )详解
字符串匹配,例从 字符串S 中( 长度为 n ),找到 字符串T ( 长度为 m ) 经典思路:遍历 字符串 S,对于每个都为起点,匹配一次,则 O( n m )的复杂度 但是这样我们就对 字符 重复 ...
- 字符串匹配KMP算法
字符串匹配KMP KMP过程其实就是去找下一个更好的状态的过程,省略去了中间穷举的无用过程,直接跳到下一个更好的状态,通过模式串本身的信息,站在模式串的角度来考虑问题 取长的一对 若想让模式串直接从S ...
- c int转字符串_【C++实现python字符串函数库】字符串匹配函数startswith与endswith
[C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...
- R语言stringr包str_count函数计算字符串匹配个数实战
R语言stringr包str_count函数计算字符串匹配个数实战 目录 R语言stringr包str_count函数计算字符串匹配个数实战 #导入stringr包 #仿真数据
- 三十五、字符串匹配问题--KMP算法
一.暴力匹配算法实现字符串匹配 如果用暴力匹配的思路,并假设现在 str1 匹配到 i 位置,子串 str2 匹配到 j 位置,则有: 如果当前字符匹配成功(即 str1[i] == str2[j]) ...
最新文章
- 测试sql语句执行时间
- KubeCon 北美前瞻|在 2020 最后,容器领域有哪些值得你关注的话题?
- 由哥倫比亞預防醫學中心想到的
- Pdshell教程-利用现有数据库(没有PDM情况下)导出数据库PMD文件
- Apache Camel 3 –骆驼核心vs骆驼核心引擎(较小的核心)
- mysql 获取天数_MySQL获取某月份的天数
- [转载]GIF、JPEG 和 PNG的区别在哪里?
- 计划的执行与回顾的重要性与必要性
- Oracle 12c因bug导致ORA-04031问题处理过程 | 云和恩墨技术通讯精选
- python中文版电脑下载-Python IDLE下载
- addressof表达式不能转换为long_【C语言】03-数据类型、运算符与表达式
- wps桌面图标不显示问题
- Openjudge 1.13 33:实数加法
- 电工与电子技术基础【3】
- Linux系统基础命令详细总结,不定期更新,建议收藏
- 深度学习多卡配置_想要自己搭建深度学习的 gpu 集群,一些问题请教大家,万分感谢!...
- 用python制作二维码_使用python制作二维码
- 关于Ajax的英雄联盟查询英雄案例
- win10查看电脑开机时长
- 命名管道的数据通信代码