zoukankan      html  css  js  c++  java
  • CF 1B

    CF 1B - Spreadsheets    点击打开链接

    题意:对于行和列 有两种表现模式:一, R 23 C 55 即行编号和列编号。二,BC 23,字母加行编号 。其中字母类似于26进制

    如BC 23 表示 列 55,行 23.

    思路:只需将字母的数分开处理即可,字母和数字的转换可以类似于26进制之间的装换。不过,需注意的是,数字刚好整除26

    需要特殊判断为‘Z’。 

    #include <iostream>
    #include<cstring>
    #include<cctype>
    #include<cstdio>
    using namespace std;
    const int N=1e6+10;
    char ch[N];
    char c[1005];
    int a[5];
    void f1(int n)
    {
        if(n==0)
            return ;
        if(n%26==0)
            f1(n/26-1);
        else
            f1(n/26);
        char s;
        if(n%26==0)
            s='Z';
        else
            s=n%26-1+'A';
        printf("%c",s);
    }
    void f2(char *ch)
    {
        int sum=0;
        int len=strlen(ch);
        for(int i=0;i<len;i++){
            sum=sum*26+ch[i]-'A'+1;
        }
        printf("%d
    ",sum);
    }
    int main()
    {
        int n;
        int len;
        scanf("%d",&n);
        while(n--){
            memset(c,0,sizeof c);
            memset(a,0,sizeof a);
            int t=0;
            int l=0;
            cin>>ch;
            len=strlen(ch);
            for(int i=0;i<len;i++){
                if(isalpha(ch[i]))
                    c[t++]=ch[i];
                else{
                    while(!isalpha(ch[i])&&i<len){
                        a[l]=a[l]*10+(ch[i]-'0');
                        i++;
                    }
                    i--;
                    l++;
                }
            }
            if(a[1]!=0){
                f1(a[1]);
                printf("%d
    ",a[0]);
            }
            else{
                printf("R%dC",a[0]);
                f2(c);
            }
        }
        return 0;
    }

  • 相关阅读:
    c如何弹出保存路径/保存文件对话框
    c++ 读写txt方法
    windows获取环境变量
    Block UI 获取treelist column值
    MFC中如何弹出选择文件/文件夹对话框(C++)
    What can change the CID of a NX license server?
    spring之AOP
    spring注解开发
    spring配置Bean
    spring之IOC和DI实现
  • 原文地址:https://www.cnblogs.com/Levi-0514/p/9042502.html
Copyright © 2011-2022 走看看