時間限制 2000 ms ・ 記憶體限制 256 MB
題目描述
密鑰包含有順序的英文字母集合 L,以及整數 N(1 到 25)。定義 ciph(p) 為將大寫字母 p 往字母表後方循環移動 N 位,例如 N=2 時 A→C、Y→A。
從左到右逐字加密,單字間空白保持不變。若原字母 p 不在 L 中,只輸出 ciph(p);若 p 在 L 中,輸出三個字母:L 的第 m 個字母、ciph(p)、L 的第 m+1 個字母,再讓 m 增加 1。L 視為環狀,每一整行訊息開始時 m=1,遇到空白不重設。
密鑰保證能唯一解碼,L 不包含 L 中任何字母經 ciph 轉換後的字母。請還原各訊息,並偵測不符合編碼規則的內容。
輸入格式
第一行為正整數 T,之後有空白行,各測試資料間也有空白行。每筆依序為:字母密鑰 L、數字密鑰 N、訊息數,以及該數量的密文行。密文只含大寫 A–Z 與單字間的空白。
輸出格式
每個密文行輸出原訊息;若不是任何明文的合法編碼,輸出 error in encryption。維持訊息順序,不同測試資料輸出間印一個空白行。
範例測資
範例輸入 1
1 RSAEIO 2 5 RTSSKAEAGE GRSCAV RGSSCAV RUSIQO RUSSGAACEV JEGIITOOGR
範例輸出 1
RICE error in encryption EAT error in encryption SEAT HERE
請先登入後再提交程式碼
討論與題解
載入討論區…