問題描述
小明發明了一種給由全大寫字母組成的字串編碼的方法。
對於每乙個大寫字母,小明將它轉換成它在 26 個英文本母中序號,即 a → 1, b → 2, … z →26。
這樣乙個字串就能被轉化成乙個數字序列:比如abcxyz
→123242526
。
現在給定乙個轉換後的數字序列,小明想還原出原本的字串。
當然這樣的還原有可能存在多個符合條件的字串。
小明希望找出其中字典序最大的字串。
輸入格式
乙個數字序列。
輸出格式
乙個只包含大寫字母的字串,代表答案
樣例輸入
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 的餘數即可。答案提交 這是一道結果填空題,你只需要算出結果後提交即可。本題的結果為乙個整數,在提交答案時只填寫這個整數,填寫多...