題目描述【題目分析】16 世紀法國外交家 blaise de vigenère 設計了一種多表密碼加密演算法――vigenère 密碼。vigenère 密碼的加密解密演算法簡單易用,且破譯難度比較高,曾在美國南北戰爭中為南軍所廣泛使用。
在密碼學中,我們稱需要加密的資訊為明文,用 m 表示;稱加密後的資訊為密文,用
c 表示;而金鑰是一種引數,是將明文轉換為密文或將密文轉換為明文的演算法中輸入的資料,
記為 k。 在 vigenère 密碼中,金鑰 k 是乙個字母串,k=k1k2…kn。當明文 m=m1m2…mn時,
得到的密文 c=c1c2…cn,其中 ci=mi®ki,運算®的規則如下表所示:
vigenère 加密在操作時需要注意:
®運算忽略參與運算的字母的大小寫,並保持字母在明文 m 中的大小寫形式;
當明文 m 的長度大於金鑰 k 的長度時,將金鑰 k 重複使用。
例如,明文 m=helloworld,金鑰 k=abc 時,密文 c=hfnlpyosnd。
模擬+字串。
【**】
#include
#include
#include
#include
using
namespace
std;
char s1[101],s2[1001];
int l1,l2;
char r(char a,char b)
else
return (char) y;
}int main()
洛谷 P1079 Vigen re 密碼
題目描述 16 世紀法國外交家 blaise de vigen re 設計了一種多表密碼加密演算法 vigen re 密 碼。vigen re 密碼的加密解密演算法簡單易用,且破譯難度比較高,曾在美國南北戰爭中為 南軍所廣泛使用。在密碼學中,我們稱需要加密的資訊為明文,用 m 表示 稱加密後的資訊為...
洛谷P5049 洛谷P5022 題解 旅行
原題 資料加強版 加強版 參考你谷題解 終於調過了 又是一如既往的申必錯誤 noi plus石錘了 原題的資料允許我們 o n 2 暴力斷邊,但是加強版的資料達到了 n log n 級別,我們必須在斷邊這一環節尋求更好的解法。考慮我們進入環後在何處回溯 根據繼續走環走到的點分類 設當前已經從 b 走...
洛谷練習P2279 P1346
2020年,人類在火星上建立了乙個龐大的基地群,總共有n個基地。起初為了節約材料,人類只修建了n 1條道路來連線這些基地,並且每兩個基地都能夠通過道路到達,所以所有的基地形成了乙個巨大的樹狀結構。如果基地a到基地b至少要經過d條道路的話,我們稱基地a到基地b的距離為d。由於火星上非常乾燥,經常引發火...