題目背景
墨家家主召集**的原因是因為截獲了密電並破獲了重大情報,「公主薨,國王失蹤,墨家即將面臨滅頂之災」。
題目描述
密電是由大小寫字母組成字串,密電之所以能破譯是因為墨家掌握了破解方法,金鑰是乙個整數t,代表按字母表迴圈順位t個字母。
比如:密電:abccz
金鑰:1
破譯結果:bcdda
但是,敵人其實加密方法早就已經公升級了,凡是母音字母均不替換。
比如:密電:abccz
金鑰:1
破譯結果:acdda
現在定義資訊相似度為兩個字串的最大公共子串的長度。 最大公共子串就是,兩個字串的所有子串中能夠相互匹配上的最大長度的字串。 比如:「abcdmmm」 和 「ppabcdapabb」, 最大公共子串是"abcd",則相似度為4。
給定密文、金鑰求墨家破譯資訊的相似度為多少。
輸入格式
第一行,乙個字串s(由大小寫字母構成,s.length≤1000)代表密文;
第二行,乙個整數t(0≤t≤1000)。
輸出格式
乙個整數,代表相似度。
輸入輸出樣例
輸入 #1複製
accepted3輸出
2輸入mxrartfwkb1輸出
6解題思路:
難在審題要清楚,搞懂題目在講什麼哦!!!
**如下:
#include
#include
using
namespace std;
string a, b;
const
int n =
1010
;int dp[n]
[n];
int n;
intmain()
}for
(int i =
0; i < len; i++
)int maxs =-1
;//求最長公共子串
for(
int i =
1; i <= len; i++
)for
(int j =
1; j <= len; j++
) cout << maxs << endl;
return0;
}
簡單密碼破譯
problem description 密碼是我們生活中非常重要的東東,我們的那麼一點不能說的秘密就全靠它了。哇哈哈.接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全。假設淵子原來乙個bbs上的密碼為zvbo941987,為了方便記憶,他通過一種演算法把這個密碼變換成yuanzi1987,這個密...
python 破譯密碼
題目內容 a國情報局抓獲敵國間諜一名,從間諜身上搜出了若干密電,在嚴刑逼供之下,間諜說出了密電加密方法 將明文電報 僅由大寫字母構成 中的所有字母均替換為字母表中向後看的第n個字母,如果超過z,則從a繼續數,這樣就得到了密文,比如attack,向後看第2個字母,就加密為cvvcfm。可還沒等到間諜說...
3977 密碼破譯
快速判斷長度為 x 的串是不是迴圈節,只需要判斷 len x 的串是否為區間的border。雜湊處理。注意到如果 x 不是迴圈節,則它的因數都不會是迴圈節。所以可以列舉 x 的質因子,長度除以質因子之後判斷是不是,直到不是迴圈節為止,這樣就可以得知最短迴圈節的這個質因子的指數。using names...