WA on test 6
  • 板块CF1B Spreadsheets
  • 楼主Land_ER
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/11/12 19:48
  • 上次更新2023/11/4 00:47:30
查看原帖
WA on test 6
546558
Land_ER楼主2021/11/12 19:48

源码:

#include<iostream>
#include<cstring>
using namespace std;
char input[50];
int len;
inline bool ischar(char a){
	return a>='A'&&a<='Z' ? true : false;
}
void a2b(void){
	int i;
	int x = 0,y = 0;
	for(i = 0;ischar(input[i]);++ i)
		y = y*26 + input[i] - '@';
	for( ;i < len;++ i)
		x = x*10 + input[i] - '0';
	cout << 'R' << x << 'C' << y << '\n';
	return;
}
void b2a(void){
	int i,l = 0,ix = 0;
	char x[100005];
	int y = 0;
	memset(x,'@',sizeof(x));
	for(i = 1;!(ischar(input[i]));++ i)
		y = y*10 + input[i] - '0';
	for(++ i;i < len;++ i)
		ix = ix*10 + input[i] - '0';
	while(ix > 0){
		x[l] = ix % 26 + '@';
		if(x[l] == '@'){
			x[l] = 'Z';
			x[l+1] --;
		}
		++ l;
		ix /= 26;
	}
	if(x[l-1] == '@')
		-- l;
	for(i = l-1;i >= 0;-- i)
		cout << x[i];
	cout << y << '\n';
	return;
}
void solve(void){
	bool d = true;
	len = 0;
	cin >> input;
	for(len = 1;input[len] != '\0';++ len)
		if(ischar(input[len]) && !(ischar(input[len-1])))
			d = false;
	if(d)
		a2b();
	else
		b2a();
	return;
}
int main(void){
	int i,n;
	cin >> n;
	for(i = 0;i < n;++ i)
		solve();
	return 0;
}
2021/11/12 19:48
加载中...