题目描述
blablabla
样例
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int n;
string s;
int main()
{
getline(cin,s);
cin >> n;
for(int i = 1;i <= n;i ++ )
{
int a,b;
string pre,aft;
cin >> a >> b >> pre >> aft;
string cx = s.substr(a - 1,b - a + 1);
s.erase(a - 1,b - a + 1);
// int idx1 = s.find(pre);
// int idx2 = s.find(aft);
int idx1 = -1;
int idx2 = -1;
for(int i = 0;i < s.size();i ++ )
{
if(s.substr(i,pre.size()) == pre
&& s.substr(i + pre.size(),aft.size()) == aft)
{
idx1 = i;
idx2 = i + pre.size();
break;
}
}
//cout << idx1 << " " << idx2 << endl;
if(idx2 == -1 || idx1 == -1 || idx2 < idx1)
{
s += cx;
}else
{
s.insert(idx1 + pre.size(),cx);
}
//cout << s << endl;
}
cout << s << endl;
return 0;
}
// he,allcornetrrwecaneacheveryGreatWintheworldAcross
// 5
// 10 18 ery cor
// 32 40 , we
// 1 6 tW all
// 14 18 rnerr eache
// 1 1 e r
算法1
(暴力枚举) O(n2)
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) O(n2)
blablabla
时间复杂度
参考文献
C++ 代码
blablabla