社区讨论
Wrong Answer on test 6
CF1BSpreadsheets参与者 2已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mhjazak9
- 此快照首次捕获于
- 2025/11/03 23:36 4 个月前
- 此快照最后确认于
- 2025/11/03 23:36 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
int n;
int main(){
cin >> n;
while (n--){
string s;
cin >> s;
if (s[0] == 'R' && s[1] >= '0' && s[1] <= '9'){
int Y = 0;
int posC = 0;
for (int i = 1; i < s.size(); i++){
if (s[i] == 'C'){
posC = i;
break;
}
Y = Y * 10 + s[i] - '0';
}
int X = 0;
for (int i = posC + 1; i < s.size(); i++)
X = X * 10 + s[i] - '0';
string ans = "";
while (X > 0){
if (X % 26 == 0)
ans = 'Z' + ans;
else
ans = (char)('A' + (X % 26 - 1)) + ans;
X /= 26;
}
cout << ans << Y << endl;
}
else{
int C = 0;
int posD = 0;
for (int i = 0; i < s.size(); i++){
if (s[i] >= '0' && s[i] <= '9'){
posD = i;
break;
}
if (s[i] == 'Z')
C *= 26;
else
C = C * 26 + s[i] - 'A' + 1;
}
cout << 'R';
for (int i = posD; i < s.size(); i++)
cout << s[i];
cout << 'C' << C << endl;
}
}
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...