字元加密Cipher(bzoj 1031)

2022-05-03 10:21:25 字數 894 閱讀 8568

喜歡鑽研問題的js同學,最近又迷上了對加密方法的思考。一天,他突然想出了一種他認為是終極的加密辦法

:把需要加密的資訊排成一圈,顯然,它們有很多種不同的讀法。例如下圖,可以讀作:

jsoi07 soi07j oi07js i07jso 07jsoi 7jsoi0把它們按照字串的大小排序:07jsoi 7jsoi0 i07jso jsoi07

oi07js soi07j讀出最後一列字元:i0o7sj,就是加密後的字串(其實這個加密手段實在很容易破解,鑑於這是

突然想出來的,那就^^)。但是,如果想加密的字串實在太長,你能寫乙個程式完成這個任務嗎?

輸入檔案包含一行,欲加密的字串。注意字串的內容不一定是字母、數字,也可以是符號等。

輸出一行,為加密後的字串。

jsoi07

i0o7sj

對於100%的資料字串的長度不超過100000。

#include#include

using

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載入器載入記憶體後,先於原始程式執行,得到控制權,執行過程中對原始程式進行解密 還原,完成後再把控制權交還給原程式的程式 不同的外殼所側重的方面也不一樣,有的側重於...