代號008的特工James Leaves截獲了一些敵國的密文,經(jīng)過一段時間的破譯,Leaves終于弄清了密文的加密方式。敵國會先對明文進(jìn)行一次愷撒加密,得到中間密文,再對中間密文進(jìn)行一次柵欄加密,得到最終密文。
兩種加密方式解釋如下:
愷撒加密方式:將明文中的所有字母都在字母表上向后偏移x位,得到密文。當(dāng)x為1時,a變成b,b變成c……z變成a。例如:明文為"winterzzl",x為2時,將明文中的所有字母向后偏移2位,加密后的結(jié)果為"ykpvgtbbn"。
柵欄加密方式:將明文平分為2組,先取每組的第1個字母,再取每組的第2個字母……直到取完為止。若明文無法被平分,則第1組比第2組多1個字母。例如:明文為"tokitsukaze",將明文平分為2組,分別為"tokits"和"ukaze",按順序取完后的結(jié)果為"tuokkaiztes"。
Leaves將最終密文和愷撒加密的偏移量x給你,請你恢復(fù)出明文。
第一行有一個正整數(shù)T(1?≤?T?≤?100),表示有T組數(shù)據(jù)。 每組數(shù)據(jù)的第一行有一個字符串s(1?≤?s?≤?1000),表示最終密文,保證字符串s全部由小寫字母組成。 每組數(shù)據(jù)的第二行有一個數(shù)字x(0?≤?x?≤?25),表示愷撒加密的偏移量。
輸出格式:對于每組數(shù)據(jù),輸出加密前的明文。
輸入樣例:輸出樣例:2
ixfpmsmmpe 1
ijqcqxfgnhwwepm 2
代碼實現(xiàn)helloworld
goodluckhavefun
import java.util.Scanner;
public class Password07 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int line = scanner.nextInt();
for (int i=0;i
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧