喜歡鑽研問題的js同學,最近又迷上了對加密方法的思考。一天,他突然想出了一種他認為是終極的加密辦法
:把需要加密的資訊排成一圈,顯然,它們有很多種不同的讀法。例如下圖,可以讀作:
jsoi07 soi07j oi07js i07jso 07jsoi 7jsoi0把它們按照字串的大小排序:07jsoi 7jsoi0 i07jso jsoi07
oi07js soi07j讀出最後一列字元:i0o7sj,就是加密後的字串(其實這個加密手段實在很容易破解,鑑於這是
突然想出來的,那就^^)。但是,如果想加密的字串實在太長,你能寫乙個程式完成這個任務嗎?
輸入檔案包含一行,欲加密的字串。注意字串的內容不一定是字母、數字,也可以是符號等。
輸出一行,為加密後的字串。
jsoi07
i0o7sj
對於100%的資料字串的長度不超過100000。
#include#includeusing
namespace
std;
const
int n=2e5+5
;int
n,sa[n],tsa[n],rank[n],trank[n],c[n],h[n];
char
s[n];
void da(int maxx=256
)
for(int i=1;i<=n;i++) rank[i]=trank[i];
for(int k=1;p1,maxx=p)
for(int i=1;i<=n;i++) rank[i]=trank[i];
}for(int i=1,k=0;i<=n;i++)
}int
main()
}return0;
}
字元加密Cipher(bzoj 1031)
喜歡鑽研問題的js同學,最近又迷上了對加密方法的思考。一天,他突然想出了一種他認為是終極的加密辦法 把需要加密的資訊排成一圈,顯然,它們有很多種不同的讀法。例如下圖,可以讀作 jsoi07 soi07j oi07js i07jso 07jsoi 7jsoi0把它們按照字串的大小排序 07jsoi 7...
1064 加密字元
1064 加密字元 時間限制 1 sec 記憶體限制 128 mb 提交 25970 解決 12284 狀態 討論版 提交 命題人 admin 題目描述 從鍵盤輸入一批字元,以 結束,按要求加密並輸出。輸入從鍵盤輸入一批字元,佔一行,以 結束。輸出輸出佔一行 加密規則 1 所有字母均轉換為小寫。2 ...
180215 加密 專用加密軟體(1)
1625 5 王子昂 總結 2018年2月15日 連續第503天總結 a.專用加密軟體 1 b.殼是一種附加在原程式上通過windows載入器載入記憶體後,先於原始程式執行,得到控制權,執行過程中對原始程式進行解密 還原,完成後再把控制權交還給原程式的程式 不同的外殼所側重的方面也不一樣,有的側重於...