第十一屆藍橋杯 字串編碼

2021-10-07 20:13:19 字數 942 閱讀 4090

問題描述

小明發明了一種給由全大寫字母組成的字串編碼的方法。

對於每乙個大寫字母,小明將它轉換成它在 26 個英文本母中序號,即 a → 1, b → 2, … z →26。

這樣乙個字串就能被轉化成乙個數字序列:比如abcxyz123242526

現在給定乙個轉換後的數字序列,小明想還原出原本的字串。

當然這樣的還原有可能存在多個符合條件的字串。

小明希望找出其中字典序最大的字串。

輸入格式

乙個數字序列。

輸出格式

乙個只包含大寫字母的字串,代表答案

樣例輸入

123242526

樣例輸出

lcxyz

資料範圍

對於 20% 的評測用例,輸入的長度不超過 20。

對於所有評測用例,輸入的長度不超過 200000。

題解:

#include

#include

using

namespace std;

const

int n =

200010

;char op[27]

=;intmain()

else ans +

= op[s[i]

-'0'];

}else ans +

= op[s[i]

-'0'];

} cout << ans << endl;

return0;

}

藍橋杯c/c++組省賽歷年題

第十一屆藍橋杯

問題描述 小藍要為一條街的住戶製作門牌號。這條街一共有 2020 位住戶,門牌號從 1 到 2020 編號。小藍製作門牌的方法是先製作 0 到 9 這幾個數字字元,最後根據需要將字 符貼上到門牌上,例如門牌 1017 需要依次貼上字元 1 0 1 7,即需要 1 個 字元 0,2 個字元 1,1 個...

第十一屆藍橋杯 字串排序(DP)

小藍最近學習了一些排序演算法,其中氣泡排序讓他印象深刻。在氣泡排序中,每次只能交換相鄰的兩個元素。小藍發現,如果對乙個字串中的字元排序,只允許交換相鄰的兩個字元,則在所有可能的排序方案中,氣泡排序的總交換次數是最少的。例如,對於字串lan lanla n排序,只需要1 11次交換。對於字串 qia ...

第十一屆藍橋杯 矩陣

問題描述 把 1 2020 放在 2 1010 的矩陣裡。要求同一行中右邊的比左邊大,同一列中下邊的比上邊的大。一共有多少種方案?答案很大,你只需要給出方案數除以 2020 的餘數即可。答案提交 這是一道結果填空題,你只需要算出結果後提交即可。本題的結果為乙個整數,在提交答案時只填寫這個整數,填寫多...