題目連結: https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=50117
題目大意: 輸入一行大寫英文跟數字,把英文字母右移數字
思路: 反著做,字串切割存入字串陣列,檢查陣列元素第1個就可以知道是數字還是字母,接著就右移並%26,
維持字母正確,水題,這題老樣子judge爛,用C++ stringstream 有問題,java才能過
代碼:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = Integer.parseInt(input.nextLine());
while(n-- != 0){
String s[] = input.nextLine().split(" ");
StringBuilder str = new StringBuilder("");
int num = 0;
for(int i = s.length - 1; i >= 0; i--){
char c = s[i].toCharArray()[0];
if((c - '0') <= 9)
num = Integer.parseInt(s[i]);
else{
char t = (char)(c + num);
str.append((char)((t-'A') % 26 + 'A'));
}
}
System.out.println(str.reverse());
}
}
/*...Java才給過G8 */
}
/*
1
A B C 13 D E 2 X Y Z 20
*/
