蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數(數字有可能超過一位數)。比如a(abcd)2
等價於aabcdabcd
。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2
表示abcc
。為了降低解碼的難度,蒜頭君保證括號 不會巢狀。
蒜頭君把這個編碼方式告訴了花椰妹,然後蒜頭君在紙條上寫下了要對花椰妹說的話。現在花椰妹希望你幫她完成解碼,看看蒜頭君對她說了什麼。
輸入一行字串,只含有大小寫字母、數字和小括號。字串長度不大於 100010
00,保證輸入字串合法。
輸出一行,表示蒜頭君對花椰妹說的話。保證輸出字串長度不大於 10000010
0000
。 樣例輸入1
j2s2k2
樣例輸出1
jjsskk
樣例輸入2
a10
樣例輸出2
aaaaaaaaaa
總結說明:
1,帶括號,和不帶括號的次數輸出,我們用同樣的方式處理,而不要分開處理,製造不必要的麻煩。
2,先從特殊,複雜的處理開始,比如題中的括號,數字。再選擇中先讀括號,因為我讀完括號後,還需要讀其後的數字。
3.做題時考慮的,前乙個是字母,當前為字母,輸出字母(括號內除外,當然也不需要考慮,這種在括號while中)。這裡也不需要這麼來判斷,來乙個我輸出乙個,要是是數字呢,那我在迴圈輸出時,把次數減一即可。
**:#include#include#includeusing namespace std;
void deal(int x,string op)
if(flag)
if(i='0'&&st[i]<='9')&&st[i]!='('){
temp=st[i];
i++;
cout<
字串處理(計蒜客 解碼)
蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數 數字有可能超過一位數 比如a abcd 2等價於aabcdabcd。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2表示abcc。為了降低解碼的難度,蒜頭...
計蒜客 2019計蒜之道D
題意 現在給定你乙個字串 s ss 以及乙個整數 k kk,請求出 s ss的字典序最小的長度為 k kk的子串行。資料範圍 0 s 5000000 00 s 5000 000 樣例輸入 helloworld 5樣例輸出 ellld思路 假如我們先不考慮長度為k的限制我們應當怎麼做?我們以樣例為例子...
計蒜客 郊遊
蒜頭君成為了計蒜客附屬幼兒園的一名老師,乙個陽光明媚的週末,蒜頭君帶領著小朋友們去野外郊遊。一共有 2n2n 個小朋友,正好是 n n 個男孩和 n n 個女孩。蒜頭君讓小朋友分組玩遊戲,每組乙個男孩和乙個女孩,但是有些女孩比較討厭某些男孩,不願意和他們分在一組,男孩覺得和誰分在一組都無所謂。你能告...