题解:
#include <bits/stdc++.h>
using namespace std;
char x[1000010];
int main() {
int n,i,j,k;
cin>>n;
for(i=1; i<=n; i++) {
bool tt=true;
cin>>x;
int l=strlen(x);
if(x[0]=='R'&&'1'<=x[1]&&x[1]<='9') {
for(int j=2; j<l; j++) {
if(x[j]=='C') {
k=j;
tt=false;
break;
}
}
}
if(tt) {
int a[10];
int sum=0,j=0;
while(x[j]>='A'&&x[j]<='Z') {
j++;
a[j]=x[j-1]-'A'+1;
}
int k=j;
for(int i=1; i<=j; i++) {
int ans=1;
for(int k=1; k<=j-i; k++) {
ans*=26;
}
sum+=a[i]*ans;
}
cout<<"R";
j--;
for(int i=j+1; i<l; i++)
cout<<x[i];
cout<<"C"<<sum;
cout<<endl;
}
if(!tt) {
int a,b,x1[10];
a=x[k+1]-'0';
b=x[1]-'0';
for(int i=k+2; i<l; i++) {
a=a*10+x[i]-'0';
}
for(int i=2; i<k; i++) {
b=b*10+x[i]-'0';
}
int sum=0,sum1=0;
int k=0;
while(a!=0) {
k++;
if(a%26!=0) {
x1[k]=a%26;
a/=26;
} else
{
x1[k]=26;
a=a/26-1;
}
}
for(int i=k; i>=1; i--) {
cout<<char(x1[i]+'A'-1);
}
cout<<b;
cout<<endl;
}
}
return 0;
}