zoukankan      html  css  js  c++  java
  • ccf--20140903--字符串匹配

    本题思路简单

    题目和代码如下:

    问题描述

    试题编号: 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。
     
    #include<bits/stdc++.h>
    using namespace std;
    void toStandard(string & str){
    	int len=str.size();
    	for(int i=0;i<len;i++){
    		str[i]=tolower(str[i]);
    	}
    }
    int main(){
    	string key="";
    	int flag;//0-大小写不敏感,1- 大小写敏感
    	cin>>key; 
    	cin>>flag;
    	if(flag==0){
    		toStandard(key);
    	}
    	int n;
    	cin>>n;
    	for(int i=0;i<n;i++){
    		string temps;
    		cin>>temps;
    		string ss=temps;
    		if(flag==0){
    			toStandard(ss);
    		}
    		if(ss.find(key)!=string::npos){
    			cout<<temps<<endl;
    		}
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    怎么分辨是eclipse还是 android studio开发的
    一个帖子学会Android开发四大组件
    Android Studio ADB响应失败解决方法
    500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list
    理解 with递归调用 Sqlserver 树查询
    SQLServer树查询
    数字证书原理【转】
    linux 基础命令
    项目经验分享[转自min.jiang]
    ios
  • 原文地址:https://www.cnblogs.com/JsonZhangAA/p/8541629.html
Copyright © 2011-2022 走看看