輸入第一行包含字串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,由大小寫英文本母組成。第二行包含乙個數字,表示大小...