B - 又见LKity
2016-04-14 19:52
337 查看
B - 又见LKity
Crawling in process...
Crawling failed
Time Limit:1000MS
Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit
Status
Practice
FZU 2122
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
abc
bc ab
aaa aaabca 333Abcc##
Sample Output
aaa aabc aba 333bc abc##
Crawling in process...
Crawling failed
Time Limit:1000MS
Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit
Status
Practice
FZU 2122
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
abc
bc ab
aaa aaabca 333Abcc##
Sample Output
aaa aabc aba 333bc abc##
#include<string.h> #include<stdio.h> #include<ctype.h> #include<stdlib.h> #include<string.h> using namespace std; const int MAX_N = 100 + 10; const int MAX_M = 50000 + 100; char s1[MAX_N], s2[MAX_N], s3[MAX_M]; int main() { while(gets(s1)) { gets(s2); gets(s3); int len1 = strlen(s1); int len2 = strlen(s2); int len3 = strlen(s3); bool flag = true; int k; for(int i = 0; i < len3; i++) { k = i; if(tolower(s3[i])== tolower(s1[0]))//tolower()是大写变小写的函数,需要头文件 { i++; for(int j = 1; j < len1; j++) { if(tolower(s3[i]) != tolower(s1[j])) { i = k; break; } i++; if(j== len1 - 1) { i--; } } } if(k == i) printf("%c", s3[i]); else if(k!=i) { for(int l = 0; l < len2; l++) printf("%c", s2[l]); } } puts(""); } }
相关文章推荐
- 0x01 什么是壳
- 浏览器详谈及其内部工作机制 —— web开发必读
- 程序猿生存定律--前言:解码程序人生
- 简易封装js库
- \R\rw1091
- sublime3 licence
- MySQL数据库性能优化之存储引擎选择(MyISAM、InnoDB、NDBCluster)
- AndroidStudio导入github上的第三方库资源
- MySQL 优化器开关
- ACM-2007
- 关于makefile
- 边做边想
- 复利计算器--结对编程2.0
- 汉诺塔问题
- iOS webView中JavaScript打开原生ViewController(截取版)
- bool类型定义在哪里(Linux系统)
- 微服务架构的设计模式与使用到的基础框架
- 设计模式——单例,原型,生成器
- const的一些用法和理解
- 【慕课笔记】4-6 应用DOM4J及JDOM方式解析XML—关于JDOM使用过程中JAR包的引用