Problem 2122 又见LKity

Time Limit: 1000 mSec

Memory Limit : 32768 KB

 Problem Description

嗨!大家好,在TempleRun中大家都认识我了吧。我是又笨又穷的猫猫LKity。很高兴这次又与各位FZU的ACMer见面了。最近见到FZU的各位ACMer都在刻苦地集训,整天在日光浴中闲得发慌的我压力山大呀!于是,我准备为诸位编写一款小工具——LKity牌文本替换(众怒,:敢不敢更土点!)。这个小工具可以帮助诸位替换代码中的变量等功能,真心是一款编程,刷题必备的神器。其功能如下:

将给定的字符序列中所有包含给定的子串替换成另外一个给定的字符串。为了让其功能更加强大,替换过程中,将忽略大小写。并且不进行递归替换操作。

不过,作为笨笨的猫猫,我是心有余而力不足呀!希望诸位ACMer能帮我实现哈。(众FZU的ACMer:”……”);

 Input

输入包含多组数据。 输入为标准输入,输入包含3行。 第一行为需要查找的字符串S1。S1仅由大写或者小写字母组成,且其长度在区间[1,,100]内。 第二行为要替换的字符串S2。S2由[32,125]的字符组成,且其长度在区间[1,100]内。 第三行为原始字符串S,S由[32,125]的字符组成。且其长度在区间[1,50,000]内。

 Output

对于每组数据,请输出替换后的字符串。

 Sample Input

abcbc abaaa aaabca 333Abcc##

 Sample Output

aaa aabc aba 333bc abc##

同学说我写博客都是粘上题目和代码,这样没什么意思,其实我并不认同,虽然他们都是直接把想法思路写上,

但写博客的主要目的一是为了以后可以经常看看,回顾以前做题的经历重温一下刷题的心得体会,而是别人也可以看看题解代码,虽然不一定做过这道题,至少交流一下想法,或是提出更好的思路。

这道题以为要用kmp,却一时心急忘了分析数据范围并不是很大,直接暴力也就是百万级的数据,不会超时,就这样浪费了一个水题,,不过值得注意的是输入得用gets(),而输出用scanf就好了,puts()输出会额外有一个换行,,然后逐一比较就可以了,如果符合的话直接输出第二个字符串,否则将单个字符输出;

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<iostream>
#include<ctype.h>
using namespace std;
const int N=60000+10;
char a[105],b[105],c[N];
int f;
int jud(char x,char y)
{
if(x==y)
return 1;
if(x>=65&&x<=122)
if(y>=65&&y<=122)
if(x+32==y||x-32==y)
return 1;
return 0;
}//大小写可以忽略;
int main()
{
int x1,x3,i,j;
while(gets(a),gets(b),gets(c))
{
x1=strlen(a);
x3=strlen(c);
if(x3<x1)
puts(a);
else
{
for(i=0; i<x3; i++)
{
int k=i;
if(jud(c[k],a[0]))//只要有一个符合,然后往下比较;
for(j=1,k++; j<x1; k++,j++)
{
if(!jud(a[j],c[k]))
{
printf("%c",c[i]);
break;
}
if(j==x1-1)//全部符合的情况;
{
printf("%s",b);
i+=x1-1;//长度为x1的一部分被替换了,i应该往前移x1-1个单位,进行下一次循环;
}
}
else
printf("%c",c[i]);
}
}
printf("\n");
}
return 0;
}

hust训练赛20160330--B - 又见LKity的更多相关文章

  1. 10.0.0.55_12-16训练赛部分writeup

    0x1 - MISC MISC100 一张帅行的照片 目测是图片隐写,但是binwalk并没有出来,应该是对文件头进行了修改 010editor查看一下,发现在jpg文件尾之后还有大量的数据 而且在灰 ...

  2. Contest1592 - 2018-2019赛季多校联合新生训练赛第二场(部分题解)

    Contest1592 - 2018-2019赛季多校联合新生训练赛第二场 D 10248 修建高楼(模拟优化) H 10252 组装玩具(贪心+二分) D 传送门 题干 题目描述 C 市有一条东西走 ...

  3. Contest1585 - 2018-2019赛季多校联合新生训练赛第一场(部分题解)

    Contest1585 - 2018-2019赛季多校联合新生训练赛第一场 C 10187 查找特定的合数 D 10188 传话游戏 H 10192 扫雷游戏 C 传送门 题干: 题目描述 自然数中除 ...

  4. 7.30 正睿暑期集训营 A班训练赛

    目录 2018.7.30 正睿暑期集训营 A班训练赛 T1 A.蔡老板分果子(Hash) T2 B.蔡老板送外卖(并查集 最小生成树) T3 C.蔡老板学数学(DP NTT) 考试代码 T2 T3 2 ...

  5. FZU 2122 ——又见LKity——————【KMP字符串匹配】

    Problem 2122 又见LKity Accept: 413    Submit: 1425Time Limit: 1000 mSec    Memory Limit : 32768 KB  Pr ...

  6. FZU 2122——又见LKity——————【字符串匹配、暴力】

    Problem 2122 又见LKity Accept: 407    Submit: 1413Time Limit: 1000 mSec    Memory Limit : 32768 KB  Pr ...

  7. HDU6578 2019HDU多校训练赛第一场 1001 (dp)

    HDU6578 2019HDU多校训练赛第一场 1001 (dp) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6578 题意: 你有n个空需要去填,有 ...

  8. HDU6579 2019HDU多校训练赛第一场1002 (线性基)

    HDU6579 2019HDU多校训练赛第一场1002 (线性基) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6579 题意: 两种操作 1.在序列末 ...

  9. 河南多校大一训练赛 C 青蛙的约会

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125004#problem/C 密码:acm Description 两只青蛙在网上相识了,它们聊得很开心,于是 ...

随机推荐

  1. CF 602 D. Lipshitz Sequence 数学 + 单调栈 + 优化

    http://codeforces.com/contest/602/problem/D 这题需要注意到的是,对于三个点(x1, y1)和(x2, y2)和(x3, y3).如果要算出区间[1, 3]的 ...

  2. 【转】Java集合:HashMap源码剖析

    Java集合:HashMap源码剖析   一.HashMap概述二.HashMap的数据结构三.HashMap源码分析     1.关键属性     2.构造方法     3.存储数据     4.调 ...

  3. 【学习笔记】HTML position(static、fixed、relative、absolute)

    [本文转载] position的四个属性值:static.fixed.relative.absolute 下面分别讲述这四个属性:<div id="parent">   ...

  4. 教你如何配置WampServer

    httpdconfig 搜索deny 268行 Deny 换成Allow 在本机cmd 搜索 ipconfig 找到 本机的ip 地址 239 行 DocumentRoot "e:/mywe ...

  5. iOS 创建xcode插件

    苹果的"一个足以应付所有"策略使得它的产品越来越像一个难以下咽的药丸.尽管苹果已经将一些工作流带给了iOS/OS X的开发者,我们仍然希望通过插件来使得Xcode更加顺手! 虽然苹 ...

  6. xcode6的项目中虚拟键盘无法弹出

    这是因为Xcode6中的模拟器键盘设置跟之前的版本不一样了.之前版本是模拟器的键盘和电脑的键盘都可以使用,但是Xcode6的模拟器键盘只能使用一种,即要么是模拟器键盘,要么是电脑键盘.快捷键切换键盘类 ...

  7. fgetpos, fseek, fsetpos, ftell, rewind - 重定位某个流

    总览 (SYNOPSIS) #include <stdio.h> int fseek(FILE *stream, long offset, int whence); long ftell( ...

  8. Windows API函数大全(完整)

    Windows API函数大全,从事软件开发的朋友可以参考下 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一 ...

  9. k8s部署测试实例

    查看运行中pod,并运行一个容器 [root@mast-1 k8s]# kubectl get pods No resources found. [root@mast-1 k8s]# kubectl ...

  10. Manjaro安装SS客户端

    首先安装shadowsocks-libev sudo pacman -S shadowsocks-libev 然后编辑配置文件 vim /etc/shadowsocks/config.json { & ...