計蒜客 解碼

2021-08-14 14:58:29 字數 974 閱讀 1473

蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數(數字有可能超過一位數)。比如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 個女孩。蒜頭君讓小朋友分組玩遊戲,每組乙個男孩和乙個女孩,但是有些女孩比較討厭某些男孩,不願意和他們分在一組,男孩覺得和誰分在一組都無所謂。你能告...