【寒假每日一题】洛谷 P5734 【深基6.例6】文字处理软件
題目鏈接:P5734 【深基6.例6】文字處理軟件 - 洛谷 | 計(jì)算機(jī)科學(xué)教育新生態(tài) (luogu.com.cn)
題目描述
你需要開(kāi)發(fā)一款文字處理軟件。最開(kāi)始時(shí)輸入一個(gè)字符串作為初始文檔??梢哉J(rèn)為文檔開(kāi)頭是第 0?個(gè)字符。需要支持以下操作:
- 1 str:后接插入,在文檔后面插入字符串 str,并輸出文檔的字符串。
- 2 a b:截取文檔部分,只保留文檔中從第 a?個(gè)字符起 b?個(gè)字符,并輸出文檔的字符串。
- 3 a str:插入片段,在文檔中第 a?個(gè)字符前面插入字符串 str,并輸出文檔的字符串。
- 4 str:查找子串,查找字符串 str?在文檔中最先的位置并輸出;如果找不到輸出 -1。
為了簡(jiǎn)化問(wèn)題,規(guī)定初始的文檔和每次操作中的 str?都不含有空格或換行。最多會(huì)有 q?次操作。
輸入格式
第一行輸入一個(gè)正整數(shù) q,表示操作次數(shù)。
第二行輸入一個(gè)字符串 str,表示最開(kāi)始的字符串。
第三行開(kāi)始,往下 q?行,每行表示一個(gè)操作,操作如題目描述所示。
輸出格式
一共輸出 n?行。
對(duì)于每個(gè)操作 1,2,3,根據(jù)操作的要求輸出一個(gè)字符串。
對(duì)于操作 4,根據(jù)操作的要求輸出一個(gè)整數(shù)。
樣例 #1
樣例輸入 #1
4 ILove 1 Luogu 2 5 5 3 3 guGugu 4 gu樣例輸出 #1
ILoveLuogu Luogu LuoguGugugu 3提示
數(shù)據(jù)保證,1 <=?q <=?100,開(kāi)始的字符串長(zhǎng)度 <=?100。
AC code:
#include<iostream> #include<algorithm> #include<cstring> #include<string>using namespace std;int main() {int n;cin>>n;string s;cin>>s;while(n --){int x;cin>>x;switch(x){case 1:{string t;cin>>t;s += t;cout<<s<<endl;break;}case 2:{int a,b;cin>>a>>b;s = s.substr(a,b);cout<<s<<endl;break;}case 3:{int c;cin>>c;string t;cin>>t;s.insert(c,t);cout<<s<<endl;break;}case 4:{string t;cin>>t;if(s.find(t) < s.size())cout<<s.find(t)<<endl;elsecout<<-1<<endl;break;}}}return 0; }總結(jié)
以上是生活随笔為你收集整理的【寒假每日一题】洛谷 P5734 【深基6.例6】文字处理软件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 制作自己的xmpp/gtalk客户端
- 下一篇: 开源项目之在线网页截图工具 IECapt