4 1 古老的密碼(UVa1339 《排序》

2022-08-21 22:33:10 字數 1064 閱讀 7488

古羅馬帝國與各部門有乙個強有力的**系統,包括乙個秘密服務部門。重要的檔案以加密的形式傳送防止竊聽。在那個時代最流行的密碼被稱為替代密碼和置換密碼。例如,應用替代密碼,改變所有字母「a」到「y」字母表中的下乙個字母(注:「z」變成「a」),如:「victorious」得到資訊是「wjdupsjpvt」。置換密碼適用於一些置換到資訊的信件。例如,應用置換密碼(2,1,5,4,3,7,6,10,9,8),按這個順序,重新對「victorious」排列,就可以得到置換後的資訊「ivotcirsuo」。它很快就注意到,分別應用替代密碼和置換密碼很弱。但組合時,他們足夠強大的時候。因此,最重要的訊息首先被加密使用的替代密碼,然後結果是利用置換密碼加密。加密「victorious」與上面描述的密碼組合得到「jwpudjstvp」。考古學家最近發現的資訊刻在石板材。乍一看似乎完全沒有意義,因此認為資訊是加密的一些替代和置換密碼。他們推測的原始郵件加密的文字,現在他們要檢查他們的猜想。他們需要乙個電腦程式去做,所以你要寫乙個。

輸入:輸入檔案包含多個測試案例。它們包括兩行。第一行包含刻在板的訊息。在加密前,所有的空格和標點符號都拆了,所以

加密的資訊只包含大寫字母的英文本母。第二行包含原始訊息推測被加密在第一行的訊息。它也包含的英文本母只有大寫字母。輸入檔案的每行的長度相等且長度不超過100。

輸出:對於每乙個測試案例,列印輸出一行。如果在輸入檔案的第一行的訊息可以在第二行訊息加密的結果輸出「yes」,否則就輸出「no」。

樣例輸入:

jwpudjstvp

victorious

mama

rome

haha

hehe

aaaaaa

neercisthebest

secretmessages

樣例輸出:

yesno

yesyes

no[分析與說明]:

因為字母可以重排,每個字母的位置並不重要,重要的是每個字母出現的次數

①統計兩個字串每個字母出現的次數,得到兩個陣列cnt1[26],cnt2[26]

②之後我們排序下,排序之後結果相同,說明我們輸入的兩個字串就可以通過重排一一對映變得相同了所以本道題的核心在與【排序】

uva 133解題報告

為了縮短領救濟品的隊伍,nnglrp決定了以下策略 每天所有來申請救濟品的人會被放在乙個大圓圈,面朝裡面。選定乙個人為編號 1 號,其他的就從那個人開始逆時針開始編號直到 n。乙個 一開始逆時針數,數 k 個申請者,然後另乙個 第 n 個始順時針方向數 m 個申請者,這兩個人就被送去再教育。如果兩個...

UVA133 約瑟夫環變種

為了縮短領救濟品的隊伍,nnglrp決定了以下策略 每天所有來申請救濟品的人會被放在乙個大圓圈,面朝裡面。選定乙個人為編號 1 號,其他的就從那個人開始逆時針開始編號直到 n。乙個 一開始逆時針數,數 k 個申請者,然後另乙個 第 n 個始順時針方向數 m 個申請者,這兩個人就被送去再教育。如果兩個...

救濟金發放(uva 133)

n個人占城一圈,逆時針編號為1 n.有兩個 a從1開始逆時針數,b從n順時針開始。在每一輪中,a數k個數就停下來,b數m個就停下來 注意有可能連個 停在同乙個人上 接下來被 選中的人離開隊伍。輸入n,k,m輸出每輪裡被選中的人的編號 如果有兩個人 先輸出被a選中的 注意 輸出的每個數應當恰好佔3列。...