zoukankan      html  css  js  c++  java
  • 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。

    关键词:ctype.h toupper,string find

     1 #include<iostream>
     2 #include<ctype.h>
     3 #include<string>
     4 using namespace std;
     5 int main(){
     6     //freopen("in2.txt","r",stdin);
     7     string sor;
     8     cin >> sor;
     9     int flag;
    10     cin >> flag;
    11     if(flag == 0){        
    12         for(int i = 0;i<sor.length();i++){
    13             sor[i] = toupper(sor[i]);
    14         }
    15     }
    16     int n;
    17     cin >> n;
    18     for(int i = 0;i<n;i++){
    19         string obuf;
    20         string buf;
    21         cin >> obuf;
    22         buf = obuf;
    23         if(flag == 0){
    24             for(int j = 0;j<buf.length();j++){
    25                 buf[j] = toupper(buf[j]);
    26             }
    27         }
    28         if(buf.find(sor) != -1){
    29             cout << obuf << endl;
    30         }
    31     }
    32     return 0;
    33 }
  • 相关阅读:
    基于RTP的h.264视频传输系统设计(一)
    NAS配置Time Machine,在D-Link DNS-320上的配置笔记
    重构版机房收费系统之分层、接口、数据库连接、反射+工厂(vb.net)
    复制表机构
    JVM内存
    System.gc()
    重写(Override) 重载(Overload)
    final 关键字
    JAVA stack
    java 获取环境变量
  • 原文地址:https://www.cnblogs.com/ywsswy/p/7677491.html
Copyright © 2011-2022 走看看