總時間限制:
1000ms
記憶體限制:
65536kb
描述
加密一條資訊需要三個整數碼, k1, k2 和 k3。字元[a-i] 組成一組, [j-r] 是第二組, 其它所有字元 ([s-z] 和下劃線)組成第三組。 在資訊中屬於每組的字元將被迴圈地向左移動ki個位置。 每組中的字元只在自己組中的字元構成的串中移動。解密的過程就是每組中的字元在自己所在的組中迴圈地向右移動ki個位置。
例如對於資訊 the_quick_brown_fox 以ki 分別為 2, 3 和 1藹進行加密。加密後變成 _icuo_bfnwhoq_kxert。下圖顯示了右旋解密的過程。
觀察在組[a-i]中的字元,我們發現出現在資訊中的位置為。當k1=2右旋一次後, 上述位置中的字元變成。下表顯示了經過所有第一組字元旋轉得到的中間字串,然後是所有第二組,第三組旋轉的中間字串。在一組中變換字元將不影響其它組中字元的位置。
所有輸入字串中只包含小寫字母和下劃線(_)。所有字串最多有償服務0個字元。ki 是1-100之間的整數。
輸入輸入包括一到多組資料。每個組前面一行包括三個整數 k1, k2 和 k3,後面是一行加密資訊。輸入的最後一行是由三個0組成的。
輸出對於每組加密資料,輸出它加密前的字串。
樣例輸入
2 3 1樣例輸出_icuo_bfnwhoq_kxert
1 1 1
bcalmkyzx
3 7 4
wcb_mxfep_dorul_eov_qtkrhe_ozany_dgtoh_u_eji
2 4 3
cjvdksaltbmu
0 0 0
the_quick_brown_foxabcklmxyz
the_quick_brown_fox_jumped_over_the_lazy_dog
ajsbktcludmv
#include
#include
intmain
()for
(int i=
0;iif(code[i]>=
'j'&&code[i]<=
'r')
if(code[i]>=
's'&&code[i]<=
'z'||code[i]==
'_')
}for
(int i=
0;ifor(
int i=
0;ifor(
int i=
0;ibuf[
strlen
(code)]='\0
';printf
("%s\n"
,buf);
}}
POJ 百煉 保研機試 2801 填詞
總時間限制 1000ms 記憶體限制 65536kb 描述 alex喜歡填詞遊戲。填詞是遊戲是乙個非常簡單的遊戲。填詞遊戲包括乙個n m大小的矩形方格盤和p個單詞。玩家需要把每個方格中填上乙個字母使得每個單詞都能在方格盤上找到。每個單詞都能找到要滿足下面的條件 每個方格都不能同時屬於超過乙個的單詞。...
POJ 百煉 保研機試 2677 腫瘤檢測
總時間限制 1000ms 記憶體限制 65536kb 描述 一張ct掃瞄的灰度影象可以用乙個n n 0 n 100 的矩陣描述,矩陣上的每個點對應乙個灰度值 整數 其取值範圍是0 255。我們假設給定的影象中有且只有乙個腫瘤。在圖上監測腫瘤的方法如下 如果某個點對應的灰度值小於等於50,則這個點在腫...
POJ 百煉 保研機試 2713 腫瘤面積
總時間限制 1000ms 記憶體限制 65536kb 描述 在乙個正方形的灰度上,腫瘤是一塊矩形的區域,腫瘤的邊緣所在的畫素點在中用0表示。其它腫瘤內和腫瘤外的點都用255表示。現在要求你編寫乙個程式,計算腫瘤內部的畫素點的個數 不包括腫瘤邊緣上的點 已知腫瘤的邊緣平行於影象的邊緣。輸入只有乙個測試...