第二次打个人赛
这次居然打秃了,被A题卡的体无完肤.....结果之后转D题心里挂着A题...D题也被卡。
然后第二天不甘心,翘课来机房敲昨天的题,结果两题完全重新敲,都是10分钟左右敲完代码,A题1掉
然后D题还真有点说头...用了一上午的时间去找到哪错了,领悟到了不少东西
#include <iostream> #include <string> #include <cstring> #include <cstdio> using namespace std; int check(string s){ for (int i=2;i<s.size();i++){ if (s[i]=='C') return 1; } return 0; } int work1(string s){ int r,c; sscanf(s.c_str(),"R%dC%d",&r,&c); int a[1000]; memset(a,0,sizeof(a)); int top=0; while (c){ a[top++]=c%26; c/=26; if (a[top-1]==0) a[top-1]=26,c--; } for (int i=top-1;i>=0;i--) putchar(a[i]+'A'-1); cout<<r<<endl; } int mypow(int t){ int ans=1; for (int i=1;i<=t;i++) ans*=26; return ans; } int work2(string s){ int a[1000]; memset(a,0,sizeof(a)); int top=0; while (s[top]>='A'&&s[top]<='Z') a[top]=s[top],top++; int r,c=0; int t=0; for (int i=top-1;i>=0;i--) c+=(a[i]-'A'+1)*mypow(t++); char st[1000]={'