HNU OJ题库1005F字符串匹配问题
来源:互联网 发布:产品图册制作软件 编辑:程序博客网 时间:2024/05/17 15:58
问题 F:字符串匹配问题
时间限制:1 Sec 内存限制:256 MB
提交:1633 解决:733
[提交][状态][讨论版]
题目描述
给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。
输入
输入的第一行包含一个字符串S,由大小写英文字母组成。
第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感。
第三行包含一个整数n,表示给出的文字的行数。
接下来n行,每行包含一个字符串,字符串由大小写英文字母组成,不含空格和其他字符。
输出
输出多行,每行包含一个字符串,按出现的顺序依次给出那些包含了字符串S的行。
样例输入
Hello
1
5
HelloWorld
HiHiHelloHiHi
GrepIsAGreatTool
HELLO
HELLOisNOTHello
样例输出
HelloWorld
HiHiHelloHiHi
HELLOisNOTHello
提示
样例说明
在上面的样例中,第四个字符串虽然也是Hello,但是大小写不正确。如果将输入的第二行改为0,则第四个字符串应该输出。
评测用例规模与约定
1<=n<=100,每个字符串的长度不超过100。
代码如下:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
string str;
cin>>str;
int M,N;
cin>>M>>N;
char s[N][100];
getchar();
for(int i=0;i<N;i++)
{
gets(s[i]);
string a;
a=s[i];
int ok;
if(M==1)
{
ok=a.find(str);
}
else if(M==0)
{
string c=a;
string d=str;
for(int i=0;i<c.size();i++)
{
if(c[i]>='A'&&c[i]<='Z')
c[i]=c[i]+32;
}
for(int i=0;i<d.size();i++)
{
if(d[i]>='A'&&d[i]<='Z')
d[i]=d[i]+32;
}
ok=c.find(d);
}
if(ok!=string::npos) cout<<a<<endl;
}
return 0;
}
- HNU OJ题库1005F字符串匹配问题
- HNU OJ题库 1006G日历问题
- HNU OJ题库 1008I约瑟夫问题
- HNU OJ题库 1001B图像旋转问题
- HNU OJ题库 1002C数字排序问题
- HNU OJ题库 1003D相邻数对问题
- HNU OJ题库 1001A数塔
- HNU OJ题库 1004E画图
- HNU OJ题库 1007H生理周期
- 问题 F: 字符串匹配问题
- 华为OJ题库-字符串通配符
- oj 括号字符串匹配问题(栈)
- 华为OJ题库_字符串加解密
- 1005: 字符串匹配问题
- #1005字符串匹配问题
- 华为oj 字符串匹配
- 华为oj 字符串匹配
- 【华为 OJ 】 字符串匹配
- springmvc http请求 406
- 第四周 【项目2
- opencv彩色图像通道分离
- 用python搭建一个最简单的Web服务器
- 12.construct command
- HNU OJ题库1005F字符串匹配问题
- 【笔记+模板】树链剖分
- Mysql 图表知识点收录
- 协程的概念及Python中利用第三方库gevent使用协程
- MacBookPro2017下卸载Java9
- python爬虫随笔3 妹子图爬虫
- bzoj 2662: [BeiJing wc2012]冻结
- 第四周项目2——建设“单链表”算法库
- [BZOJ 4569][SCOI 2016] 萌萌哒 区间并查集(ST表思想)