package cn.dlpu.lby;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Addresschange {
/*
* Excel地址转换 Excel是最常用的办公软件。每个单元格都有唯一的地址表示。
* 比如:第12行第4列表示为:“D12”,第5行第255列表示为“IU5”。
* 事实上,Excel提供了两种地址表示方法,还有一种表示法叫做RC格式地址。
* 第12行第4列表示为:“R12C4”,第5行第255列表示为“R5C255”。 你的任务是:编写程序,实现从RC地址格式到常规地址格式的转换。
* 【输入、输出格式要求】 用户先输入一个整数n(n<100),表示接下来有n行输入数据。 接着输入的n行数据是RC格式的Excel单元格地址表示法。
* 程序则输出n行数据,每行是转换后的常规地址表示法。 例如:用户输入: 2 R12C4 R5C255 则程序应该输出: D12 IU5
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] ss = new String[n];
input(ss);
splitAndCompute(ss);
}
private static void splitAndCompute(String[] ss) {
// TODO Auto-generated method stub
char[] data = new char[2];
String[] str = new String[2];
String result = new String();
for (int i = 0; i < ss.length; i++) {
int j = 0;
Matcher mc = Pattern.compile("\\d+").matcher(ss[i]);
while (mc.find()) {
String s = new String(mc.group());
str[j++] = s;
}
int a = Integer.parseInt(str[1]);
if (a > 26) {
data[0] = (char) (a / 26 + 64);
int b = Integer.parseInt(str[1]);
data[1] = (char) (a % 26 + 64);
result = String.valueOf(data);
} else {
data[0] = (char) (a + 64);
result = String.valueOf(data[0]);
}
String bb = result + str[0];
System.out.println(bb);
}
}
private static void input(String[] ss) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
for (int i = 0; i < ss.length; i++) {
ss[i] = sc.nextLine();
}
}
}