0pts求调
查看原帖
0pts求调
524160
Lin_Master楼主2024/6/10 00:40
#include <bits/stdc++.h>
using namespace std;

int n;

int main () {
	cin >> n;
	string s;
	while (n--) {
		cin >> s;
		if (s[0] == 'R' && '0' <= s[1] && s[1] <= '9') {
			int i = 1;
			int R = 0;
			int C = 0;
			while ('0' <= s[i] && s[i] <= '9') {
				R = R * 10 + s[i] - '0';
				i++;
			}
			i++;
			while ('0' <= s[i] && s[i] <= '9') {
				C = C * 10 + s[i] - '0';
				i++;
			}	
			cout << C;
			int m = 0;
			string C_s = "";
			while (C > 0) {
				if (C % 26 == 0) {
					m = 26;
				} else {
					m = C % 26;
				}
				C_s = (char)('A' + m - 1) + C_s;
				C = (C - m) / 26;
			}
			cout << C_s << R << endl;
		} else {
			int i = s.size() - 1;
			int R = s[i] - '0';
			i--;
			while ('0' <= s[i] && s[i] <= '9') {
				R = (s[i] - '0') * pow(10, (s.size() - i - 1)) + R;
				i--;
			}
			int C = 0;
			int j = 0;
			while (i >= 0) {
				C += pow(26, j) * (s[i] - 'A' + 1);
				j++; i--;
			}
			cout << 'R' << R << 'C' << C << endl;
		}
	}
	return 0;
}
//aaa
2024/6/10 00:40
加载中...