原題:
/* 描述
為了最大程度地節約儲存空間,經常需要把資訊進行編碼。一種很有效的編碼方法是用數字來表示一串字元。假設這些字串都是由不重複的英文小寫字母組成的,且每個字串中的英文本母都是從小到大排列的。
這個編碼系統按照如下的方式工作:
字串是按照長度從小到大的順序排列的
長度相同的字串,是按照字典需排列的
則根據這個編碼系統,所有的字串從 a 開始可以編碼如下:
a - 1 b - 2 … z - 26 ab - 27 … az - 51 bc - 52 … vwxyz - 83681 …
那麼,請程式設計計算出乙個字串在這個編碼系統下編碼後的值是多少。
輸入 輸入的第一行為 n,表示有 n 組資料。後面的 n 行每行包含乙個不超過 10 個字母的字串。
輸出 輸出字串所對應的編碼,如果該字串不能被編碼,則輸出 0。
測試用例 1 以文字方式顯示
1 bf
以文字方式顯示
55解決**:
#include
#include
#include
#include
using namespace std;
long long t[10][26]= ; //查表,將最簡形式的編碼事先準備好
/*行號: 012
34...24
25 列號:0 a b c d e ... y z
1 ab bc cd de ef ... yz zz
2 abc bcd cde efg ghi ... xyz zzz
34...
9 abcdefghij ..... qrstuvwxyz ...zzzzz
*/void init_table()
for(i=1;i<10;i++)
for(j=26-i;j<26;j++)
}return;
}long long lookup(char *snum)
ret += t[0][*p-'a'];
return ret;
}int main(void)
乙個字串壓縮程式
題目描述 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重 復字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2.壓縮欄位的格式為 字元重複的次數 字元 例如 ...
乙個字串演算法問題
已知一組數字 21,25,11,32,12,35,55,77,66 要求按以下規則進行排序 第乙個數最大,第二個數最小,第三個數是剩下中的最大的,第四個數是剩下中的最小的,依此類推,請設計乙個字元介面的程式解決之 c codes as below class program console.read...
乙個字串是否包含另乙個字串的問題
string s1 2,3,4,5,11,string s2 1,2個字串s1和s2,我用什麼方法判斷s2在不在s1裡呢,而不是把s1裡的 11,當成s2 using system using system.text.regularexpressions class test 在這個程式中,s1 和...