zoukankan      html  css  js  c++  java
  • 【Codeforces】CF1B Spreadsheets (题解)

    CF1B Spreadsheets


    题解:

    #include <bits/stdc++.h>
    using namespace std;
    char x[1000010];
    int main() {
    	int n,i,j,k;
    	cin>>n;
    	for(i=1; i<=n; i++) {
    		bool tt=true;
    		cin>>x;
    		int l=strlen(x);
    		if(x[0]=='R'&&'1'<=x[1]&&x[1]<='9') {
    			for(int j=2; j<l; j++) {
    				if(x[j]=='C') {
    					k=j;
    					tt=false;
    					break;
    				}
    			}
    		}
    		if(tt) {
    			int a[10];
    			int sum=0,j=0;
    			while(x[j]>='A'&&x[j]<='Z') {
    				j++;
    				a[j]=x[j-1]-'A'+1;
    			}
    			int k=j;
    			for(int i=1; i<=j; i++) {
    				int ans=1;
    				for(int k=1; k<=j-i; k++) {
    					ans*=26;
    				}
    				sum+=a[i]*ans;
    			}
    			cout<<"R";
    			j--;
    			for(int i=j+1; i<l; i++)
    				cout<<x[i];
    			cout<<"C"<<sum;
    			cout<<endl;
    		}
    		if(!tt) {
    			int a,b,x1[10];
    			a=x[k+1]-'0';
    			b=x[1]-'0';
    			for(int i=k+2; i<l; i++) {
    				a=a*10+x[i]-'0';
    			}
    			for(int i=2; i<k; i++) {
    				b=b*10+x[i]-'0';
    			}
    			int sum=0,sum1=0;
    			int k=0;
    			while(a!=0) {
    				k++;
    				if(a%26!=0) {
    					x1[k]=a%26;
    					a/=26;
    				} else 
    				{
    					x1[k]=26;
    					a=a/26-1;
    				}
    			}
    			for(int i=k; i>=1; i--) {
    				cout<<char(x1[i]+'A'-1);
    			}
    			cout<<b;
    			cout<<endl;
    		}
    	}
    	return 0;
    }
    
  • 相关阅读:
    适配器
    策略
    oom的各种情况
    sql 优化//TODO
    聚簇索引和非聚簇索引
    Shard内部原理
    es集群健康状态
    转载 R语言颜色基础设置
    三维数据的展示
    python 文件保存 出错
  • 原文地址:https://www.cnblogs.com/BorisDimitri/p/13546619.html
Copyright © 2011-2022 走看看