藍橋杯C 試題 演算法提高 字串的操作

2021-10-05 15:00:18 字數 951 閱讀 3470

輸入第一行包含字串s,第二行包含乙個整數q,接下來q行分別為q個指令。

輸出為1行,為按順序執行完輸入指令後的字串。

hellomyworld

對於30%的資料,q=1;

對於70%的資料,如有swap指令,swap指令中b-a=d-c;

對於100%的資料,最終字串長度不大於40000,1<=q<=150

由於這道題涉及到較多的字串操作,可以採用c++庫函式來較少**的編輯。

c++中substr(start, length)方法:返回乙個從指定位置開始,並具有指定長度的子字串。

引數:1.start:必選。所需的子字串的起始位置。字串中第乙個字元的索引為 0。

2.length:可選項。返回的子字串中包含的字元數。

substr有2種用法:

假設:string s = "0123456789";

string str1 = s.substr(5); //只有乙個數字5表示從下標為5開始一直到結尾:str1 = "56789"

string str2 = s.substr(5, 3); //從下標為5開始擷取長度為3位:str2 = "567"

reverse()函式

可以對字串進行反轉操作,標頭檔案是#include

容器型別的要用begin()和end()來指定反轉的區域,陣列型別的直接用int型別即可。

#include #include #include using namespace std;

int main()

}else if(ss[i]=="insert")

else if(ss[i]=="swap")

else if(ss[i]=="reverse")

}cout

}

藍橋杯C 試題 演算法提高 字串匹配

給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。輸入的第一行包含乙個字串s,由大小寫英文本母組成。第二行包含乙個數字,表示大小寫敏感的選項,當數字...

藍橋杯試題 演算法提高 字串匹配

題目描述 資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。輸入格式 輸入的第一...

藍橋杯 試題 演算法提高 字串匹配

問題描述 給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。輸入格式 輸入的第一行包含乙個字串s,由大小寫英文本母組成。第二行包含乙個數字,表示大小...