标签:gif 准备 one 操作 pen 匹配 close 图片 alt
嗨!大家好,在TempleRun中大家都认识我了吧。我是又笨又穷的猫猫LKity。很高兴这次又与各位FZU的ACMer见面了。最近见到FZU的各位ACMer都在刻苦地集训,整天在日光浴中闲得发慌的我压力山大呀!于是,我准备为诸位编写一款小工具——LKity牌文本替换(众怒,:敢不敢更土点!)。这个小工具可以帮助诸位替换代码中的变量等功能,真心是一款编程,刷题必备的神器。其功能如下:
将给定的字符序列中所有包含给定的子串替换成另外一个给定的字符串。为了让其功能更加强大,替换过程中,将忽略大小写。并且不进行递归替换操作。
不过,作为笨笨的猫猫,我是心有余而力不足呀!希望诸位ACMer能帮我实现哈。(众FZU的ACMer:”……”);
Input
Output
Sample Input
abc bc ab aaa aaabca 333Abcc##
Sample Output
aaa aabc aba 333bc abc##
【分析】:正难则反。判断是否为给定应该替换之处,是则输出原串字符,否则输出替换串字符。
【代码】:
#include <iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<streambuf> using namespace std; #define oo 10000000 int n; char s1[500],s2[500],s3[50000+100]; int main() { while(~scanf("%s",s1)) { getchar(); gets(s2); gets(s3); int n1=strlen(s1); int n3=strlen(s3); for(int i=0;i<n3;i++) { int k=i,flag=1; for(int j=0;j<n1;j++,k++) { if(tolower(s3[k]) != tolower(s1[j])) { flag=0; break; } } if(!flag) printf("%c",s3[i]); else { i=k-1; printf("%s",s2); } } printf("\n"); } }
FZU 2122 又见LKity【字符串/正难则反/KMP/把一个字符串中某个部分替换为另一个部分】
标签:gif 准备 one 操作 pen 匹配 close 图片 alt
原文地址:http://www.cnblogs.com/Roni-i/p/8013280.html