题目链接:http://ac.jobdu.com/problem.php?pid=1168
详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus
参考代码:
// // 1111 单词替换.cpp // Jobdu // // Created by PengFei_Zheng on 26/04/2017. // Copyright © 2017 PengFei_Zheng. All rights reserved. // #include <stdio.h> #include <iostream> #include <algorithm> #include <string.h> #include <cmath> #define MAX_SIZE 101 using namespace std; int main(){ string str, a, b; while(getline(cin,str)){ getline(cin,a); getline(cin,b); int lenstr = (int)str.size(); int lena = (int)a.size(); int pos = (int)str.find(a,0); while(pos!=string::npos){ if((pos!=0 && str[pos-1]!=' ') || (pos+lena < lenstr && str[pos+lena]!=' ')){ pos = (int)str.find(a,pos+1); continue; } str.replace(pos,lena,b); pos = (int)str.find(a,pos+1); } cout<<str<<endl; } return 0; } /************************************************************** Problem: 1111 User: zpfbuaa Language: C++ Result: Accepted Time:0 ms Memory:1520 kb ****************************************************************/