【悬关】RE#6,C++求助
查看原帖
【悬关】RE#6,C++求助
690669
Beacon_wolf楼主2024/5/8 21:59
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 5010;
int n;
int main(){
	cin >> n;
	while(n--){
		string s;
		cin >> s;
		long long r = 0,c = 0;
		if(s[0] == 'R'){
			int cnt = -1;
			for(int i = s.size() - 1;s[i] != 'C';i--){
				c += (s[i] - '0') * pow(10,++cnt);
			}
			int cntt = -1;
			for(int i = s.size() - cnt - 3;i >= 1;i--){
				r += (s[i] - '0') * pow(10,++cntt);
			}
			char a[10];
			int cnttt = 0;
			while(c){
				a[cnttt++] = (c % 26 + 'A' - 1);
				c /= 26;
			}
			for(int i = cnttt - 1;i >= 0;i--){
				cout << a[i];
			}
			cout << r << endl;
		}
		else{
			int cnt = -1;
			for(int i = s.size() - 1;i >= 0;i--){
				if(s[i] >= '0' && s[i] <= '9'){
					r += (s[i] - '0') * pow(10,++cnt);
				}
			}
			int cntt = -1;
			for(int i = s.size() - cnt - 2;i >= 0;i--){
				c += (s[i] - 'A' + 1) * pow(26,++cntt);
			}
			cout << 'R' << r << 'C' << c << endl; 
		}
	}
	return 0;
}
2024/5/8 21:59
加载中...