国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

剪切粘貼(pta團(tuán)體天梯題)c++超簡(jiǎn)單詳細(xì)刨析版

這篇具有很好參考價(jià)值的文章主要介紹了剪切粘貼(pta團(tuán)體天梯題)c++超簡(jiǎn)單詳細(xì)刨析版。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

使用計(jì)算機(jī)進(jìn)行文本編輯時(shí)常見的功能是剪切功能(快捷鍵:Ctrl + X)。請(qǐng)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的具有剪切和粘貼功能的文本編輯工具。

工具需要完成一系列剪切后粘貼的操作,每次操作分為兩步:

  • 剪切:給定需操作的起始位置和結(jié)束位置,將當(dāng)前字符串中起始位置到結(jié)束位置部分的字符串放入剪貼板中,并刪除當(dāng)前字符串對(duì)應(yīng)位置的內(nèi)容。例如,當(dāng)前字符串為?abcdefg,起始位置為 3,結(jié)束位置為 5,則剪貼操作后, 剪貼板內(nèi)容為?cde,操作后字符串變?yōu)?abfg。字符串位置從 1 開始編號(hào)。
  • 粘貼:給定插入位置的前后字符串,尋找到插入位置,將剪貼板內(nèi)容插入到位置中,并清除剪貼板內(nèi)容。例如,對(duì)于上面操作后的結(jié)果,給定插入位置前為?bf,插入位置后為?g,則插入后變?yōu)?abfcdeg。如找不到應(yīng)該插入的位置,則直接將插入位置設(shè)置為字符串最后,仍然完成插入操作。查找字符串時(shí)區(qū)分大小寫。

每次操作后的字符串即為新的當(dāng)前字符串。在若干次操作后,請(qǐng)給出最后的編輯結(jié)果。

輸入格式:

輸入第一行是一個(gè)長(zhǎng)度小于等于 200 的字符串?S,表示原始字符串。字符串只包含所有可見 ASCII 字符,不包含回車與空格。

第二行是一個(gè)正整數(shù)?N?(1≤N≤100),表示要進(jìn)行的操作次數(shù)。

接下來的?N?行,每行是兩個(gè)數(shù)字和兩個(gè)長(zhǎng)度不大于 5?的不包含空格的非空字符串,前兩個(gè)數(shù)字表示需要剪切的位置,后兩個(gè)字符串表示插入位置前和后的字符串,用一個(gè)空格隔開。如果有多個(gè)可插入的位置,選擇最靠近當(dāng)前操作字符串開頭的一個(gè)。

剪切的位置保證總是合法的。

輸出格式:

輸出一行,表示操作后的字符串。

輸入樣例:

AcrosstheGreatWall,wecanreacheverycornerintheworld
5
10 18 ery cor
32 40 , we
1 6 tW all
14 18 rnerr eache
1 1 e r

輸出樣例:

he,allcornetrrwecaneacheveryGreatWintheworldAcross

?刷pta的題目才發(fā)現(xiàn)刷一道綜合一點(diǎn)的題目真的可以抵好多道那種字符串的問題了,通過理解題目得到大概的思路其實(shí)并不難,這題的題目意思就是復(fù)制一個(gè)字符串的子串然后刪除粘貼到某一位置,只是把這個(gè)過程重復(fù)多次而已。

因此我們可以把難點(diǎn)歸類一下

1.怎么得到剪切(即刪除)后的字符串?

2.怎么找到需要粘貼的位置?這里給了粘貼后前面的字符串和后面的字符串,長(zhǎng)度不大于五,可能也是比較難突破的一個(gè)點(diǎn)了

3.怎么把字符串粘貼到2找到的位置回去?

這題目其實(shí)就是難在這三個(gè)點(diǎn),其實(shí)這就是平時(shí)刷的一些字符串的問題只是綜合在一起考了,這里我們一個(gè)點(diǎn)一個(gè)點(diǎn)來突破

首先就是難點(diǎn)1,怎么得到剪切后的原字符串,其實(shí)化為一個(gè)字符串問題就是一個(gè)刪除子字符串問題,但這畢竟只是一個(gè)小點(diǎn),花太多時(shí)間在這里很浪費(fèi),因此我們可以直接使用erase函數(shù),即原字符串.erase(開始刪除字符的下標(biāo),要?jiǎng)h除的長(zhǎng)度),這個(gè)函數(shù)可以直接套用得到刪除后的字符串,字符串長(zhǎng)度也會(huì)自動(dòng)跟著變化,例如

剪切粘貼(pta團(tuán)體天梯題)c++超簡(jiǎn)單詳細(xì)刨析版,c++,開發(fā)語言,算法

?

其次就是難點(diǎn)二,也是這題最難的一個(gè)點(diǎn),怎么找到要從哪里開始加入剪切的字符串呢?題目給出了加入前后的字符串來讓我們找位置,假設(shè)找得到的話,那么在粘貼之前題目給出的前后字符串一定是連在一起的,我們就可以直接找他們連起來后在原字符串里有沒有哪段出現(xiàn),如果出現(xiàn)了就說明找到了?,這里可以用第二個(gè)函數(shù)即find函數(shù),可以直接在原字符串里找到子字符串開始出現(xiàn)的位置,沒找到則返回-1,而且也是先找的前面的位置剛好滿足題意,函數(shù)原型為 字符串.find(子字符串),使用如下圖

剪切粘貼(pta團(tuán)體天梯題)c++超簡(jiǎn)單詳細(xì)刨析版,c++,開發(fā)語言,算法

最后就是難點(diǎn)三的突破了,怎么把找到的字符串粘貼回去,這里就要用到本題的第三個(gè)函數(shù)了,即insert函數(shù)可以直接在某個(gè)位置插入字符串并且也是自動(dòng)改變字符串的長(zhǎng)度,哈哈哈哈就是這么爽,可以直接用,函數(shù)原型為字符串.insert(要插入的位置,插入的字符串)?,使用樣例如下

剪切粘貼(pta團(tuán)體天梯題)c++超簡(jiǎn)單詳細(xì)刨析版,c++,開發(fā)語言,算法

看到了嗎三個(gè)難點(diǎn)都有三個(gè)函數(shù)可以解決還不直接記!!只要知道函數(shù)這題就很簡(jiǎn)單也可以很快地寫,與其一個(gè)一個(gè)去寫那么多不如一個(gè)函數(shù)方便快捷,考場(chǎng)時(shí)間把握很重要,不過記得在使用前都要在前面加上頭文件#include<string>,下面就直接給出整個(gè)一個(gè)代碼了

代碼如下:

#include<iostream>
#include<string>
using namespace std;
string s;
//得到復(fù)制的字符串
string fff(int a, int b) {
	string m;
	for (int i = a-1; i < b; i++) m += s[i];
	return m;
}
void zhantie(string a, string b, string c) {
	string m = b + c;
	//假如找到了可以插入的位置
	int t = s.find(m);
	if (t >= 0) {
		s.insert(t + b.size(), a);
	}
	//假如原字符串沒有可以插入的位置,直接插到最后面
	else {
		s.insert(s.size(), a);
	}
}
int main()
{
	getline(cin, s);
	int k;
	cin >> k;
	while (k--) {
		int begin, end;
		string qian, hou;
		cin >> begin >> end >> qian >> hou;
		string fuzhi = fff(begin, end);
		s.erase(begin-1,end-begin+1);//刪除原字符串剪切完的字符串
		zhantie(fuzhi, qian, hou);//得到粘貼后的字符串
	}
	cout << s << endl;
	return 0;
}

后面補(bǔ)充個(gè)小細(xì)節(jié)就是find函數(shù)假如沒找到,直接使用find(m)會(huì)返回一個(gè)很大的值,而不是-1,因此這代碼用了int t來特意接受find后的值,沒找到就會(huì)返回-1文章來源地址http://www.zghlxwxcb.cn/news/detail-838949.html

到了這里,關(guān)于剪切粘貼(pta團(tuán)體天梯題)c++超簡(jiǎn)單詳細(xì)刨析版的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 2019年 團(tuán)體程序設(shè)計(jì)天梯賽——題解集

    2019年 團(tuán)體程序設(shè)計(jì)天梯賽——題解集

    前言: Hello各位童學(xué)大家好!????,茫茫題海你我相遇即是緣分吶,或許日復(fù)一日的刷題已經(jīng)讓你感到疲憊甚至厭倦了,但是我們真的真的已經(jīng)達(dá)到了我們自身極限了嗎?少一點(diǎn)自我感動(dòng),沒有結(jié)果前別太松懈,請(qǐng)相信 ”一萬小時(shí)定理“ 。當(dāng)你迷茫時(shí)抬頭看看遠(yuǎn)方回想當(dāng)初

    2023年04月17日
    瀏覽(73)
  • 2016年 團(tuán)體程序設(shè)計(jì)天梯賽——題解集

    2016年 團(tuán)體程序設(shè)計(jì)天梯賽——題解集

    前言: Hello各位童學(xué)大家好!????,茫茫題海你我相遇即是緣分吶,或許日復(fù)一日的刷題以及讓你疲憊甚至已經(jīng)厭倦了,但是我們真的真的達(dá)到極限了嗎?少一點(diǎn)自我感動(dòng),沒有結(jié)果前別太松懈,請(qǐng)相信 ”一萬小時(shí)定理“ 。當(dāng)你迷茫時(shí)抬頭看看遠(yuǎn)方回想當(dāng)初那個(gè)稚嫩臉龐的

    2023年04月09日
    瀏覽(24)
  • 2020年 團(tuán)體程序設(shè)計(jì)天梯賽——題解集

    2020年 團(tuán)體程序設(shè)計(jì)天梯賽——題解集

    Hello各位童學(xué)大家好!????,茫茫題海你我相遇即是緣分吶,或許日復(fù)一日的刷題已經(jīng)讓你感到疲憊甚至厭倦了,但是我們真的真的已經(jīng)達(dá)到了我們自身極限了嗎?少一點(diǎn)自我感動(dòng),沒有結(jié)果前別太松懈,請(qǐng)相信 ”一萬小時(shí)定理“ 。當(dāng)你迷茫時(shí)抬頭看看遠(yuǎn)方回想當(dāng)初那個(gè)稚

    2023年04月12日
    瀏覽(22)
  • 2018年 團(tuán)體程序設(shè)計(jì)天梯賽——題解集

    2018年 團(tuán)體程序設(shè)計(jì)天梯賽——題解集

    前言: Hello各位童學(xué)大家好!????,茫茫題海你我相遇即是緣分吶,或許日復(fù)一日的刷題已經(jīng)讓你感到疲憊甚至厭倦了,但是我們真的真的已經(jīng)達(dá)到了我們自身極限了嗎?少一點(diǎn)自我感動(dòng),沒有結(jié)果前別太松懈,請(qǐng)相信 ”一萬小時(shí)定理“ 。當(dāng)你迷茫時(shí)抬頭看看遠(yuǎn)方回想當(dāng)初

    2023年04月09日
    瀏覽(14)
  • 【團(tuán)體程序設(shè)計(jì)天梯賽】L2-052 吉利矩陣

    【團(tuán)體程序設(shè)計(jì)天梯賽】L2-052 吉利矩陣

    思路: 直接回溯枚舉每一個(gè)位置填的數(shù),二維肯定是不方便的,我們轉(zhuǎn)成一維,下標(biāo)x從0到n*n-1。二維數(shù)組下標(biāo)從0到n-1,在一維中下標(biāo)為x的點(diǎn)在二維中對(duì)應(yīng)行是x/n,列是x%n。 每個(gè)數(shù)最小能填的是0,最大肯定就是l了,時(shí)間復(fù)雜度的上限是n的2l次冪,4的18大概是1e11這樣。 我們

    2024年04月27日
    瀏覽(29)
  • 團(tuán)體程序設(shè)計(jì)天梯賽-練習(xí)集L2篇⑦

    團(tuán)體程序設(shè)計(jì)天梯賽-練習(xí)集L2篇⑦

    ??歡迎來到本文?? ??個(gè)人簡(jiǎn)介:Hello大家好呀,我是陳童學(xué),一個(gè)與你一樣正在慢慢前行的普通人。 ??個(gè)人主頁:@陳童學(xué)哦`CSDN ??所屬專欄:PTA ??希望各位→點(diǎn)贊?? + 收藏?? + 留言?? ? ??刷題的當(dāng)下應(yīng)是享受的!望與諸君共勉!???♂? 下面是PTA的OJ平臺(tái) PTA的

    2024年02月11日
    瀏覽(20)
  • 團(tuán)體程序設(shè)計(jì)天梯賽 L2-013 紅色警報(bào)(連通分量)

    分?jǐn)?shù) 25 戰(zhàn)爭(zhēng)中保持各個(gè)城市間的連通性非常重要。本題要求你編寫一個(gè)報(bào)警程序,當(dāng)失去一個(gè)城市導(dǎo)致國(guó)家被分裂為多個(gè)無法連通的區(qū)域時(shí),就發(fā)出紅色警報(bào)。注意:若該國(guó)本來就不完全連通,是分裂的k個(gè)區(qū)域,而失去一個(gè)城市并不改變其他城市之間的連通性,則不要發(fā)出

    2024年03月13日
    瀏覽(24)
  • 2023-GPLT團(tuán)體程序設(shè)計(jì)天梯賽-總決賽 L1題解 【Python】

    2023-GPLT團(tuán)體程序設(shè)計(jì)天梯賽-總決賽 L1題解 【Python】

    有一位軟件工程師說過一句很有道理的話: “Good code is its own best documentation.” (好代碼本身就是最好的文檔)。本題就請(qǐng)你直接在屏幕上輸出這句話。 輸入格式: 本題沒有輸入。 輸出格式: 在一行中輸出 Good code is its own best documentation. 。 輸入樣例: 輸出樣例: 代碼:

    2024年02月11日
    瀏覽(23)
  • 7-1 天梯地圖 (PTA-數(shù)據(jù)結(jié)構(gòu))

    7-1 天梯地圖 (PTA-數(shù)據(jù)結(jié)構(gòu))

    本題要求你實(shí)現(xiàn)一個(gè)天梯賽專屬在線地圖,隊(duì)員輸入自己學(xué)校所在地和賽場(chǎng)地點(diǎn)后,該地圖應(yīng)該推薦兩條路線:一條是最快到達(dá)路線;一條是最短距離的路線。題目保證對(duì)任意的查詢請(qǐng)求,地圖上都至少存在一條可達(dá)路線。 輸入格式: 輸入在第一行給出兩個(gè)正整數(shù) N (2?≤

    2024年02月02日
    瀏覽(35)
  • PTA L1-049 天梯賽座位分配(詳解)

    前言:內(nèi)容包括:題目,代碼實(shí)現(xiàn),大致思路,代碼解讀 天梯賽每年有大量參賽隊(duì)員,要保證同一所學(xué)校的所有隊(duì)員都不能相鄰,分配座位就成為一件比較麻煩的事情。為此我們制定如下策略:假設(shè)某賽場(chǎng)有 N 所學(xué)校參賽,第 i 所學(xué)校有 M[i] 支隊(duì)伍,每隊(duì) 10 位參賽選手。令

    2024年02月03日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包