密碼截獲問題

2021-07-27 22:32:31 字數 918 閱讀 7286

catcher是mca國的情報員,他工作時發現敵國會用一些對稱的密碼進行通訊,比如abba,aba,a,123321等,但是他們有時會在開始或結束時加入一些無關的字元以防別國破解。比如進行下列變化abba->12abba,aba->abakk,123321->51233214 。因為截獲的串太長了,而且存在多種可能的情況(abaaab可看作是aba或baaab的加密形式),cathcer的工作量實在是太大了,他只能向電腦高手求助,你能幫catcher找出最長的有效密碼串嗎?

測試資料有若干行字串,包括字母(字母區分大小寫),數字,符號。與輸入相對應每一行輸出乙個整數,代表最長有效密碼串的長度。

abba

12abba

aabakk

51233214

abaaab

441

365

這是一道求取字串中回文串長度的問題。如果僅僅判斷是否是回文串,通常有以下兩種方法:

1、將字元取反,判斷前後兩次字串是否相等;

2、比較首位字元是否相等,若相等則分別向中間縮排一位,再次判斷;

上述密碼截獲問題難點在於如果你想向中間縮排,不知道是頭部縮排,還是尾部縮排。因為你並不知道干擾字元是加在首部還是尾部還是兩者均有。下面介紹一種很「淳樸」的解決方法,其原理類似於氣泡排序。建立兩個索引,頭部索引值和尾部值比較,如果不相等,尾部索引減一,再次比較,直至首位相遇,則一次遍歷完成。增加頭部索引,再次完成上述操作即可。

源程式:  

#include#includeusing namespace std;

int main()

else number=number+1;

if (number > max)

max=number;

start++;

end--;

}else

}} cout <

問題 1209 密碼截獲

題目描述 catcher是mca國的情報員,他工作時發現敵國會用一些對稱的密碼 進行通訊,比如像這些abba,aba,a,123321,但是他們有時會在開始或結束時加入一些無關的字元以防止別國破解。比如進行下列變化 abba 12abba,aba abakk,123321 51233214 因為截獲...

問題 1209 密碼截獲

時間限制 1sec 記憶體限制 128mb catcher是mca國的情報員,他工作時發現敵國會用一些對稱的密碼 進行通訊,比如像這些abba,aba,a,123321,但是他們有時會在開始或結束時加入一些無關的字元以防止別國破解。比如進行下列變化 abba 12abba,aba abakk,123...

利用滑鼠鍵盤鉤子截獲密碼

利用滑鼠鍵盤鉤子截獲密碼。原始碼示例 http zeena.nease.net soft getpass src.rar 鉤子能截獲系統並得理髮送給其它應用程式的訊息,能完成一般程式無法完成的功能。掌握鉤子的程式設計方法是很有必要的 鉤子分類 1 wh callwndproc和wh callwndp...