#21235: 一點想法


abs71507@gmail.com (46 5)

學校 : 國立中興大學
編號 : 87742
來源 : [36.235.200.136]
最後登入時間 :
2023-05-24 14:06:42
e975. 3. 情書解密 (Love) -- 2019年5月TOI練習賽新手組 | From: [27.246.42.199] | 發表日期 : 2020-05-05 01:40

先宣告字串來輸入

再把字串以文字陣列的方式去做分析

同時宣告一個整數陣列

若文字陣列的值為英文字母(注1)則照順序儲存進整數陣列

ex.a=1,b=2....

不是英文則略過(空白or其他字元)

 

而love的編號是12,15,22,5

在整數陣列中尋找相同的編號順序

若沒找到則把全部整數陣列的值+1 (凱薩密碼的加密原理)

若出現27則改成1 (z-->a)

用for迴圈跑26次(注2) 就一定可找到正確的加密數值(偏移量)

 

注1:判斷是否為大寫的函數為isupper() 

      而將大寫改成小寫的函數為tolower()

      包含在cctype之中

注2:測資皆有正確輸出

 

小弟第一次撰寫解題報告 有任何建議歡迎各位不吝指教

(字體大小,表達是否清楚等)

 
#37390: Re: 一點想法


mountainwu14@gmail.com (吳小四)

學校 : 不指定學校
編號 : 187101
來源 : [122.121.24.68]
最後登入時間 :
2023-12-11 22:56:32
e975. 3. 情書解密 (Love) -- 2019年5月TOI練習賽新手組 | From: [122.121.7.144] | 發表日期 : 2023-09-04 22:18

謝謝你的講解, 這個想法很顛覆人類的思考, 我覺得很棒,照著轉成python,有成功AC了

 

先宣告字串來輸入

再把字串以文字陣列的方式去做分析

同時宣告一個整數陣列

若文字陣列的值為英文字母(注1)則照順序儲存進整數陣列

ex.a=1,b=2....

不是英文則略過(空白or其他字元)

 

而love的編號是12,15,22,5

在整數陣列中尋找相同的編號順序

若沒找到則把全部整數陣列的值+1 (凱薩密碼的加密原理)

若出現27則改成1 (z-->a)

用for迴圈跑26次(注2) 就一定可找到正確的加密數值(偏移量)

 

注1:判斷是否為大寫的函數為isupper() 

      而將大寫改成小寫的函數為tolower()

      包含在cctype之中

注2:測資皆有正確輸出

 

小弟第一次撰寫解題報告 有任何建議歡迎各位不吝指教

(字體大小,表達是否清楚等)



 
ZeroJudge Forum