Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

EXCEL - Bảng tính Excel

Trong Excel, các cột được đánh dấu theo các chữ cái. Cột đầu tiên là A, sau đó  là B. Sau cột Z sẽ là
cột AA rồi AB. Sau cột AZ sẽ là cột BA… Tương tự như vậy, sau cột ZZ sẽ là cột AAA. Các hàng
thì sẽ được đánh số, bắt đầu từ 1.  
Hãy viết chương trình chuyển từ biểu diễn một ô theo thứ tự hàng và cột sang tọa độ trên bảng tính
Excel .

Input

Gồm nhiều bộ test, mỗi bộ có dạng RnCm trong đó n,m là các số nguyên mô tả vị trí
theo hàng và cột (1<=n,m<=300000000). Dòng cuối cùng ghi R0C0.

Output

Với mỗi bộ test, ghi ra giá trị biểu diễn trong bảng tính Excel.

Example

Input:
R1C1
R3C1
R1C3
R299999999C26
R52C52
R53C17576
R53C17602
R0C0 Output: A1
A3
C1
Z299999999
AZ52
YYZ53
YZZ53

Example

Input:
R1C1
R3C1
R1C3
R299999999C26
R52C52
R53C17576
R53C17602
R0C0 Output: A1
A3
C1
Z299999999
AZ52
YYZ53
YZZ53

Được gửi lên bởi:adm
Ngày:2011-10-19
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

hide comments
2024-03-04 21:34:37
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void excel(char *s) {
int i;
for(i=2;i<strlen(s);i++)
if (isalpha(s[i])) break;
i++;

int n=strlen(s);
for(int j=i;j<n;j++)
s[j]-=48;

long long sum=0;
for(int j=i;j<n;j++)
sum=sum*10+s[j];

int a[100],k=0;
while(sum>0)
{
if(sum%26!=0)
{
a[k]=sum%26;
sum=sum/26;
k++;
}
else
{
a[k]=26;
sum=sum/26-1;
k++;
}
}
int b[k];
for(int cnt=0;cnt<k;cnt++)
b[cnt]=a[k-cnt-1]+64;
for(int cnt=0;cnt<k;cnt++)
printf("%c",b[cnt]);
for(int cnt=1;cnt<i-1;cnt++)
printf("%c",s[cnt]);
printf("\n");
}
int main()
{
int cnt=0;
char s[100][100];
while(1)
{
fflush(stdin);
scanf("%s",s[cnt]);
if(s[cnt][1]=='0') break;
cnt++;
}
for(int i=0;i<cnt;i++)
excel(s[i]);
}
mọi người có thể xem dùm em sai đâu dc ko ạ, bất lực ghê :<<




2023-04-23 11:14:15
djke
2018-09-05 05:18:02
Chia sẻ tài liệu học C/C++ từ cơ bản đến nâng cao : https://licklink.net/eUvSt
2018-01-29 15:49:32
EXCEL: https://e16cn-ptit.blogspot.com/2018/01/excel-bang-tinh-excel.html
2017-05-23 19:08:07
Nếu nhập K1C1 thì ko biết có phải nhập lại K => R hem @@
2017-05-23 18:40:46
R0C1 & R1C0 thì sao nhỉ mn @@
2017-05-23 18:35:08
quá thời gian quy định, hix hix
2017-04-08 15:19:15
code
https://www.youtube.com/watch?v=nwR8YrjH9GE&feature=youtu.be
2016-05-21 18:21:55
Quy tắc cột chữ cái trong Excel nếu đổi sang hệ thập phân là : 0 1 2 3 4 5 6 7 8 9 00 01 02 03 04 05 06 07 08 09 10 11 12 ....... Nó sai so với mọi quy tắc của hệ cơ số ??
2016-05-21 18:19:35
Trời ạ ! Mình đổi hệ cơ số 10 sang cơ số 26, với quy tắc : A=0, B=1,... Z=25 , vì vậy khi mình input 1 (hiểu là A) thì máy sẽ hiểu là 0 (A). mình nhập lần lượt : 1 , 2 , 3 ,.... thì máy xuất output là: A B C ... Z BA BB BC BD.... mình mở Excel ra kiểm tra thấy dãy thứ tự đó khác, dãy Excel là : A B C.. Z AA AB AC ... Tại sao vậy ?
Nếu theo số thập phân thì phải là : 0 1 2 3 4 5 6 7 8 9 10 11 12 .... chứ ?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.