标签:c++
AAAADH BCE DRW UHD D AAAAA
BFL XYZ D 代码:#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { char q[222],w[222]; char e[222]; int a,b; int i,j,k,t; while(scanf("%s%s",q,w)!=EOF) { t=0; //t用来处理含有A(0)的数据 A在前面就不能输出 memset(e,0,sizeof(e)); // 模拟大数运算 从后往前 有进位制 所以要清 a=strlen(q); b=strlen(w); if(a>=b) { for(i=a-1,j=b-1; i>=0; i--,j--) { if(j<0) e[i]=q[i]+e[i]; else { e[i]=e[i]+q[i]+w[j]-'A'; } if(e[i]>'Z') //进位 { e[i-1]=1; e[i]=e[i]-26; if(a==b&&b==1||i==0) //当首位也需要进位的时候(不能调用e[-1]) { cout<<'B'; t=1; } } } } else //同上 { for(i=a-1,j=b-1; j>=0; i--,j--) { if(i<0) e[j]=w[j]+e[j]; else { e[j]=e[j]+q[i]+w[j]-'A'; } if(e[j]>'Z') { e[j-1]=1; e[j]=e[j]-26; if(a==b&&b==1||j==0) { cout<<'B'; t=1; } } } } for(i=0; i<strlen(e); i++) { if(e[i]==1) { cout<<'B'; t=1; } else if(e[i]=='A'&&t==1) cout<<'A'; else if(e[i]=='A'&&t==0) continue; else { cout<<e[i]; t=1; } } if(t==0) //输入数据全是A时 cout<<'A'; cout<<endl; } return 0; }
HDU 2100 Lovekey 模拟26进制,布布扣,bubuko.com
标签:c++
原文地址:http://blog.csdn.net/axuan_k/article/details/38236321