本题对于C++的STL运用要求高,如果会用这些模板,就可以秒杀这题。、
此处总结一些用法。
这里默认string a;
用法:a.substr(begin,end);//截取字符串a从begin到end的字符串。
用法:a.insert(position,string);//在position这个位置前插入一个string。
用法:a.find(string);//如果找到则返回下标,找不到会返回一个很大的数
#include<bits/stdc++.h>
#include<string>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int arr[1000];
int q,num;
string a;
cin>>q;
cin>>a;
for(int i=0;i<q;i++)
{
cin>>num;
if(num==1)
{
string b;
cin>>b;
a+=b;
cout<<a<<endl;
}
else if(num==2)
{
string b1;
int a1,a2;
cin>>a1>>a2;
b1=a.substr(a1,a2);
a=b1;
cout<<a<<endl;
}
else if(num==3)
{
int b;
string b1;
cin>>b>>b1;
a.insert(b,b1);
cout<<a<<endl;
}
else if(num==4)
{
string b;
cin>>b;
if(a.find(b)<a.size())
cout<<a.find(b)<<endl;
else cout<<-1<<endl;
}
}
return 0;
}