c662: Hello Oscar
標籤 :
通過比率 : 100% (5 人 / 5 人 ) (非即時)
評分方式:
Tolerant

最近更新 : 2018-07-12 17:27

內容

c109: 00306 - Cipher 是一個文字加密的練習。

題目規則如下:

1) 選定一個祕密鍵,祕密鍵是由 0 ~ n-1 的數字所構成,但是排列 的順序卻是他們任意挑選的。

2) 把要編碼的訊息(明文)寫在秘密鍵下面,每個字元與秘密鍵的一數字對齊。位於位置i的字元  經編碼後其位置為 ai,ai為秘密鍵中第i個位置的值。明文中的每個字元編碼後就得到密文了。這密文還可以用同樣的策略再加密,經過了 k 次加密後產生密文。

3) 本題假設明文的長度剛好等於祕密鍵的長度。


 

Patrick 在練習這個題目時,發現當 k 值很大時,結果會逾時,

於是他假設一定存在一個值 ( 以下稱 oscar )

當加密的次數達到 oscar 時,又會變回原來的明文。

所以只要做 k % oscar 次即可。

請你幫忙找出 oscar 值。


 

假設祕密鍵為 2 3 5 4 1 6 0
明文為分解為 p a t r i c k

加密回次及結果如下:

1: kipartc
2: crkiapt
3: tacrikp
4: pitarck
5: krpiatc
6: cakript
7: ticarkp
8: prtiack
9: kapritc
10: cikarpt
11: trciakp
12: patrick
 
輸入說明

每行一組祕密鍵,請您計算出用這組祕密鍵加密時的 oscar 值。

鍵的長度 2 < n < 1000

輸出說明
範例輸入
2 3 5 4 1 6 0
0 1 2 4 3
範例輸出
12
2
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (12%): 1.0s , <1M
公開 測資點#1 (12%): 1.0s , <1M
公開 測資點#2 (12%): 1.0s , <1M
公開 測資點#3 (12%): 1.0s , <1M
公開 測資點#4 (13%): 1.0s , <1M
公開 測資點#5 (13%): 1.0s , <1M
公開 測資點#6 (13%): 1.0s , <10M
公開 測資點#7 (13%): 0.3s , <10M
提示 :
標籤:
出處:
[編輯: ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」