求解密碼問題C RJ503求解密碼問題

2021-09-29 17:56:56 字數 960 閱讀 1026

給定乙個整數n和乙個由不同大寫字母組成的字串str(長度大於5、小於12),每乙個字母在字母表中對應有乙個序數(a=1,b=2,…,z=26),從str中選擇5個字母構成密碼,例如選取的5個字母為v、w、x、y和z,他們要滿足v的序號-(w的序數)2+(x的序數)3-(y的序數)4+(z的序數)5=n。例如,給定的n=1、字串str為"abcdefghijkl",乙個可能的解是「fiecb」,因為6-92+53-34+25=1,但這樣的解可能有多個,最終結果是按字典序最大的那個,所以這裡的正確答案是「lkeba」.

input

每一行為n和str,以輸入n=0結束。

output

每一行輸出相應的密碼,當密碼不存在是輸出「no solution」

sample input

1 abcdefghijkl

11700519 zayexiwovu

3072997 sought

1234567 thequickfrog

0

sample output

lkeba

yoxuz

ghost

no solution

思想:列舉,把每種情況列舉出來。最簡單,在資料量大會卡。

#include

using

namespace std;

intmain()

}}if(max1==

"aaaaa"

) cout<<

"no solution"

cout>n;

}return0;

}

回溯法求解密碼問題,C 語言

給定乙個整數n和乙個由不同大寫字母組成的字串str 長度大於5 小於12 每乙個字母在字母表中對應有乙個序數 a 1,b 2,z 26 從str中選擇5個字母構成密碼,例如選取的5個字母為v w x y和z,他們要滿足v的序號 w的序數 2 x的序數 3 y的序數 4 z的序數 5 n。例如,給定的...

凱撒密碼解密

凱撒大帝建立了第一套密碼,對原文的每個字母,用這個字母後的第五個字母來替換 輸入 輸入有多達100個測試用例組成,每個測試用例的組成 乙個測試用例有三部分組成 1.起始一行 一行,start 2.密碼訊息 一行,由100 200個字母組成,包含100和200,表示由凱撒發過來的訊息 3.結束 一行,...

凱撒密碼加密解密

加密方法 凱撒密碼需要事先設定乙個偏移量值 如 3,4,5等 然後將自己明文中每個字母加上該偏移量轉變為另一字母 如偏移量為3,a字母轉變為d字母 加密程式 string encrypt string mingwen,int k else if mingwen i a mingwen i z els...